我可以在运行时在c#中更改类的字段吗?
例如,如果我有班级:
public class ExampleClass{
public string Name;
}
我可以在运行时使用反射或其他技术更改名称,将名称更改为Name1吗?
public class ExampleClass{
public string Name1;
}
答案 0 :(得分:1)
不,您无法在运行时更改类型的实际成员
选项:
ExampleClass
,但是有不同的成员 - 可能是它们之间有一些映射代码ICustomTypeDescriptor
或IDynamicMetaObjectProvider
- 这将允许某些框架将其视为,就像它具有{{1即使它实际上没有(注意:Name1
和DynamicObject
之类的内容包含ExpandoObject
的实现,但您可以通过其他方式执行此操作)IDynamicMetaObjectProvider
返回有意义的内容答案 1 :(得分:0)