System.Web.Compilation.TemplateControlCompiler.CreateContentPlaceHolderTemplateProperty C# (CSharp) Method

CreateContentPlaceHolderTemplateProperty() static private method

static private CreateContentPlaceHolderTemplateProperty ( string backingField, string name ) : void
backingField string
name string
return void
		void CreateContentPlaceHolderTemplateProperty (string backingField, string name)
		{
			CodeMemberProperty prop = new CodeMemberProperty ();
			prop.Type = new CodeTypeReference (typeof (ITemplate));
			prop.Name = name;
			prop.Attributes = MemberAttributes.Public;

			var ret = new CodeMethodReturnStatement ();
			var fldRef = new CodeFieldReferenceExpression (thisRef, backingField);
			ret.Expression = fldRef;
			prop.GetStatements.Add (ret);
			prop.SetStatements.Add (new CodeAssignStatement (fldRef, new CodePropertySetValueReferenceExpression ()));

			prop.CustomAttributes.Add (new CodeAttributeDeclaration ("TemplateContainer", new CodeAttributeArgument [] {
						new CodeAttributeArgument (new CodeTypeOfExpression (new CodeTypeReference (typeof (MasterPage))))
					}
				)
			);

			var enumValueRef = new CodeFieldReferenceExpression (new CodeTypeReferenceExpression (typeof (TemplateInstance)), "Single");
			prop.CustomAttributes.Add (new CodeAttributeDeclaration ("TemplateInstanceAttribute", new CodeAttributeArgument [] {
						new CodeAttributeArgument (enumValueRef)
					}
				)
			);

			mainClass.Members.Add (prop);
		}
		
TemplateControlCompiler