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

AddCodeForPropertyOrField() static private method

static private AddCodeForPropertyOrField ( ControlBuilder builder, Type type, string var_name, string att, MemberInfo member, bool isDataBound, bool isExpression ) : void
builder System.Web.UI.ControlBuilder
type System.Type
var_name string
att string
member System.Reflection.MemberInfo
isDataBound bool
isExpression bool
return void
		void AddCodeForPropertyOrField (ControlBuilder builder, Type type, string var_name, string att, MemberInfo member, bool isDataBound, bool isExpression)
		{
			CodeMemberMethod method = builder.Method;
			bool isWritable = IsWritablePropertyOrField (member);
			
			if (isDataBound && isWritable) {
				string dbMethodName = DataBoundProperty (builder, type, var_name, att);
				AddEventAssign (method, builder, "DataBinding", typeof (EventHandler), dbMethodName);
				return;
			} else if (isExpression && isWritable) {
				AddExpressionAssign (method, builder, member, type, var_name, att);
				return;
			}

			CodeAssignStatement assign = new CodeAssignStatement ();
			assign.Left = new CodePropertyReferenceExpression (ctrlVar, var_name);
			currentLocation = builder.Location;
			assign.Right = GetExpressionFromString (type, att, member);

			method.Statements.Add (AddLinePragma (assign, builder));
		}
TemplateControlCompiler