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

AddExpressionAssign() static private method

static private AddExpressionAssign ( CodeMemberMethod method, ControlBuilder builder, MemberInfo member, Type type, string name, string value ) : void
method System.CodeDom.CodeMemberMethod
builder System.Web.UI.ControlBuilder
member System.Reflection.MemberInfo
type System.Type
name string
value string
return void
		void AddExpressionAssign (CodeMemberMethod method, ControlBuilder builder, MemberInfo member, Type type, string name, string value)
		{
			CodeExpression expr = CompileExpression (member, type, value, false);

			if (expr == null)
				return;
			
			CodeAssignStatement assign = new CodeAssignStatement ();
			assign.Left = new CodePropertyReferenceExpression (ctrlVar, name);

			TypeCode typeCode = Type.GetTypeCode (type);
			if (typeCode != TypeCode.Empty && typeCode != TypeCode.Object && typeCode != TypeCode.DBNull)
				assign.Right = CreateConvertToCall (typeCode, expr);
			else 
				assign.Right = new CodeCastExpression (type, expr);
			
			builder.Method.Statements.Add (AddLinePragma (assign, builder));
		}
TemplateControlCompiler