|
|
1
9
您想要的类似于python的getattr/setattr函数。在C或VB.NET中,没有类似的内置方式来实现这一点。DLR的外层(随Microsoft.scripting.dll中的Ironpython和IronRuby一起提供)包含一组托管API,其中包含一个具有getmember/setmember方法的ObjectOperations API。您可以使用这些,但是您需要额外依赖于DLR和基于DLR的语言。 最简单的方法可能是用现有的C粘合剂创建一个Callsite。您可以通过查看ildasm或reflector中“foo.bar=42”的结果来获得此代码。但一个简单的例子是:
|
|
|
2
5
expandoobject实现IDictionary<字符串、对象>,尽管是显式的。这意味着您可以简单地将expandoobject强制转换为idictionary<string、object>并操作字典。
|
|
|
3
5
开源框架 Dynamitey 将执行此操作(可通过 nuget )它在仍然缓存@dino viehland使用的调用站点和绑定器代码的同时进行封装。
也可以叫很多人 other kinds of c# binder too . |
|
|
4
1
我知道这是一个相当古老的职位,但我想我会过去的 Miron Abramson solution 关于如何在运行时创建自己的类型和添加属性——以防其他人正在寻找类似的东西。 |
|
|
JBryanB · 如何从基本抽象类访问类属性 2 年前 |
|
|
Gabe Tucker · 无法在golang中分配接口对象指针 3 年前 |
|
|
jkone27 · F#-在编译时从字符串生成简单的空类型 7 年前 |
|
|
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 7 年前 |
|
|
Randall Flagg · 访问propertyinfo中的属性 7 年前 |
|
|
Kacper · 在反映的全名和成员c后的“*”中,“+”是什么意思# 7 年前 |
|
|
tobeypeters · 反射铸造 7 年前 |
|
|
myst02 · 如何在另一个方法之后调用该方法? 7 年前 |