[英]Change a property name at runtime
我可以在運行時在C#中更改類的字段嗎?
例如,如果我有課:
public class ExampleClass{
public string Name;
}
我可以在運行時使用反射或其他技術對其進行更改,以將Name更改為Name1嗎?
public class ExampleClass{
public string Name1;
}
不,您不能在運行時更改類型的實際成員
選項:
ExampleClass
,但是具有不同的成員-大概它們之間有一些映射代碼 ICustomTypeDescriptor
或IDynamicMetaObjectProvider
它將允許某些框架將其視為具有Name1
,即使實際上沒有(注意:諸如DynamicObject
和ExpandoObject
類的東西都包含IDynamicMetaObjectProvider
實現) ,但您可以通過其他方式進行操作) var val = obj["Name1"];
返回有意義的東西
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.