更新 对不起。我并不是说整个反射库都是禁区。我只是说非常慢的 *.Invoke() 东西。
你好,
我需要在 C# 中实现一个允许正常属性访问的属性系统
[property_attribute()]
return_type Property { get; set; }
并通过字符串访问
SetProperty(string name, object value);
object GetProperty(string name);
然而,
- 我不想单独注册每个属性。
- 我不想使用反射
- 我不想通过字典访问属性(即 no
PropertyTable["abc"]=val;
)
这个方案是集群计算方案所必需的,我必须在远程和本地设置属性。所有属性都将具有一个自定义属性,该属性将在初始化时读取。我希望获得恒定的运行时性能。
目前,我的想法是让自定义解析器/预处理器在运行时解析/编译脚本并生成设置/获取代码,如下所示:
object GetProperty(string name)
{
if(name = "blah")
return Property1;
...
}
...
但是,我将无法使用此方案调试代码。谁能想到解决方案?
谢谢