Export (0) Print
Expand All

CodeMemberProperty Class

Represents a declaration for a property of a type.

Namespace:  System.CodeDom
Assembly:  System (in System.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class CodeMemberProperty : CodeTypeMember

The CodeMemberProperty type exposes the following members.

  NameDescription
Public methodCodeMemberPropertyInitializes a new instance of the CodeMemberProperty class.
Top

  NameDescription
Public propertyAttributesGets or sets the attributes of the member. (Inherited from CodeTypeMember.)
Public propertyCommentsGets the collection of comments for the type member. (Inherited from CodeTypeMember.)
Public propertyCustomAttributesGets or sets the custom attributes of the member. (Inherited from CodeTypeMember.)
Public propertyEndDirectivesGets the end directives for the member. (Inherited from CodeTypeMember.)
Public propertyGetStatementsGets the collection of get statements for the property.
Public propertyHasGetGets or sets a value indicating whether the property has a get method accessor.
Public propertyHasSetGets or sets a value indicating whether the property has a set method accessor.
Public propertyImplementationTypesGets the data types of any interfaces that the property implements.
Public propertyLinePragmaGets or sets the line on which the type member statement occurs. (Inherited from CodeTypeMember.)
Public propertyNameGets or sets the name of the member. (Inherited from CodeTypeMember.)
Public propertyParametersGets the collection of declaration expressions for the property.
Public propertyPrivateImplementationTypeGets or sets the data type of the interface, if any, this property, if private, implements.
Public propertySetStatementsGets the collection of set statements for the property.
Public propertyStartDirectivesGets the start directives for the member. (Inherited from CodeTypeMember.)
Public propertyTypeGets or sets the data type of the property.
Public propertyUserDataGets the user-definable data for the current object. (Inherited from CodeObject.)
Top

  NameDescription
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

CodeMemberProperty can be used to represent the declaration for a property of a type.

The Type property specifies the data type of the property. The GetStatements property contains any get statement methods for the property. The SetStatements property contains any set statement methods for the property. The Parameters property specifies any parameters for the property, such as are required for an indexer property.

The following example code demonstrates use of a CodeMemberProperty to define a string property with get and set accessors.

// Declares a property of type String named StringProperty.
CodeMemberProperty property1 = new CodeMemberProperty();
property1.Name = "StringProperty";
property1.Type = new CodeTypeReference("System.String");
property1.Attributes = MemberAttributes.Public;
property1.GetStatements.Add( new CodeMethodReturnStatement( new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "testStringField") ) );
property1.SetStatements.Add( new CodeAssignStatement( new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), "testStringField"), new CodePropertySetValueReferenceExpression()));

// A C# code generator produces the following source code for the preceeding example code: 

//       public virtual string StringProperty  
//       { 
//              get  
//            { 
//                return this.testStringField; 
//            } 
//            set  
//            { 
//                this.testStringField = value; 
//            } 
//       }            

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft