C# 4.0 动态对象C4.0,在运行时从预定义值创建列
我使用过dynamic object,但在这种情况下,列名来自预定义的字符串数组。如何在运行时使用这些预定义的列值集创建对象?。 我想这样做的原因是创建一个自定义类并在其中添加自定义验证属性,这样我就可以在运行时使用反射来填充映射到自定义类的这些动态对象的值,并使用单个函数验证这些值C# 4.0 动态对象C4.0,在运行时从预定义值创建列,c#-4.0,C# 4.0,我使用过dynamic object,但在这种情况下,列名来自预定义的字符串数组。如何在运行时使用这些预定义的列值集创建对象?。 我想这样做的原因是创建一个自定义类并在其中添加自定义验证属性,这样我就可以在运行时使用反射来填充映射到自定义类的这些动态对象的值,并使用单个函数验证这些值 dynamic x = new MyCustomClass(); x.Name = "Jones"; // The Field or Column name "Name" comes from a array
dynamic x = new MyCustomClass();
x.Name = "Jones"; // The Field or Column name "Name" comes from a array of strings.
Validator.Validate(x); //Here i use reflection to iterate through the custom attributes on MyCustomClass and validate them based on conditions.
有可能做这样的事情吗?x.Name=Jones;:- 我建议您在MyCustomClass中添加索引器属性
public string this[string binder] {
get {
string result;
return (this.TryGetMember(binder, out result)) ? result : string.Empty
}
set {
this.TrySetMember(binder, value);
}
}
x["Name"] = "Jones";
expando对象看起来像是在做你想做的事情-请在下面的链接中选择3/4: