CodeTypeDeclaration.IsPartial 属性

定义

获取或设置一个值,该值指示该类型声明是完整的类型声明还是分部类型声明。

public:
 property bool IsPartial { bool get(); void set(bool value); };
public bool IsPartial { get; set; }
member this.IsPartial : bool with get, set
Public Property IsPartial As Boolean

属性值

如果该类或结构声明是实现的分部表示形式,则为 true;如果该声明是该类或结构的完整实现,则为 false。 默认值为 false

示例

此示例演示如何使用 提供 CodeTypeDeclaration 跨多个声明的类实现。 该示例生成初始类声明语句, IsPartial 并将 属性设置为 true

CodeTypeDeclaration^ baseClass = gcnew CodeTypeDeclaration( "DocumentProperties" );
baseClass->IsPartial = true;
baseClass->IsClass = true;
baseClass->Attributes = MemberAttributes::Public;
baseClass->BaseTypes->Add( gcnew CodeTypeReference( System::Object::typeid ) );

// Add the DocumentProperties class to the namespace.
sampleSpace->Types->Add( baseClass );
            CodeTypeDeclaration baseClass = new CodeTypeDeclaration("DocumentProperties");
            baseClass.IsPartial = true;
            baseClass.IsClass = true;
            baseClass.Attributes = MemberAttributes.Public;
            baseClass.BaseTypes.Add(new CodeTypeReference(typeof(System.Object
)));

            // Add the DocumentProperties class to the namespace.
            sampleSpace.Types.Add(baseClass);
Dim baseClass As CodeTypeDeclaration = New CodeTypeDeclaration("DocumentProperties")
baseClass.IsPartial = True
baseClass.IsClass = True
baseClass.Attributes = MemberAttributes.Public
baseClass.BaseTypes.Add(New CodeTypeReference(GetType(System.Object)))

' Add the DocumentProperties class to the namespace.
sampleSpace.Types.Add(baseClass)

示例中的其他方法扩展了类实现。 此方法为现有类生成新的类型声明语句, IsPartial 并将 属性设置为 true。 编译器将两个分部类型声明组合在一起,以便实现完整的类。

CodeTypeDeclaration^ baseClass = gcnew CodeTypeDeclaration( "DocumentProperties" );
baseClass->IsPartial = true;
baseClass->IsClass = true;
baseClass->Attributes = MemberAttributes::Public;

// Extend the DocumentProperties class in the unit namespace.
( *docPropUnit)->Namespaces[ 0 ]->Types->Add( baseClass );
CodeTypeDeclaration baseClass = new CodeTypeDeclaration("DocumentProperties");
baseClass.IsPartial = true;
baseClass.IsClass = true;
baseClass.Attributes = MemberAttributes.Public;

// Extend the DocumentProperties class in the unit namespace.
docPropUnit.Namespaces[0].Types.Add(baseClass);
Dim baseClass As CodeTypeDeclaration = New CodeTypeDeclaration("DocumentProperties")
baseClass.IsPartial = True
baseClass.IsClass = True
baseClass.Attributes = MemberAttributes.Public

' Extend the DocumentProperties class in the unit namespace.
docPropUnit.Namespaces(0).Types.Add(baseClass)

注解

可以在一个完整声明中生成类或结构实现,也可以跨多个声明分散实现。 实现通常在一个完整类型声明中提供。 在这种情况下,请将类型声明 IsPartial 属性设置为 false,这指示类型声明表示类或结构实现的所有详细信息。

分部类型声明可以更轻松地在应用程序的不同模块中生成类或结构实现的不同部分。 分部类型声明可以存储在一个源文件中,也可以分散到多个源文件中,这些文件最终一起编译以形成组合类型实现。

C# 语言通过partial关键字 (keyword) 支持类和结构的分部类型声明。 Visual Basic 支持使用 Partial 关键字 (keyword) 的类和结构的分部类型声明。 并非所有代码生成器都支持分部类型声明,因此应通过使用 标志 PartialTypes调用 Supports 方法来测试此支持。

注意

类和结构支持分部类型声明。 如果为枚举或接口指定分部类型声明,则生成的代码将生成编译器错误。

跨多个声明提供类或结构实现时,请将初始声明和所有补充声明的 属性true设置为 IsPartial 。 初始声明必须完全指定类型签名,包括访问修饰符、继承类型和实现的接口。 补充声明不需要重新指定类型签名。 如果在补充声明中重新定义类型签名,通常会导致编译器错误。

Visual Studio 2005 使用分部类型将用户生成的代码与设计器代码分开。 在 Visual Basic Windows 应用程序项目中,用户代码放置在不受关键字 (keyword) 限定Partial的分部类中;设计器提供的代码显示在具有Partial关键字 (keyword) 的分部类中。 在 C# 中,用户代码和设计器代码都显示在关键字 (keyword) 标识的分部类中partial

适用于

另请参阅