System.Runtime.Serialization.XsdDataContractImporter.AddExtensionData C# (CSharp) Method

AddExtensionData() private method

private AddExtensionData ( CodeTypeDeclaration td ) : void
td System.CodeDom.CodeTypeDeclaration
return void
		void AddExtensionData (CodeTypeDeclaration td)
		{
			td.BaseTypes.Add (typeref_ext_iface);

			var field = new CodeMemberField (typeref_ext_class, "extensionDataField");
			td.Members.Add (field);

			var prop = new CodeMemberProperty () { Type = field.Type, Name = "ExtensionData", Attributes = (GenerateInternal ? MemberAttributes.Assembly : MemberAttributes.Public) | MemberAttributes.Final };
			prop.GetStatements.Add (new CodeMethodReturnStatement (
				new CodeFieldReferenceExpression (
				new CodeThisReferenceExpression (),
				"extensionDataField")));
			prop.SetStatements.Add (new CodeAssignStatement (
				new CodeFieldReferenceExpression (
				new CodeThisReferenceExpression (),
				"extensionDataField"),
				new CodePropertySetValueReferenceExpression ()));

			td.Members.Add (prop);
		}