C# 动态类成员?
是否可以使用动态类成员?比如说C# 动态类成员?,c#,dynamic,.net-4.5,C#,Dynamic,.net 4.5,是否可以使用动态类成员?比如说 class blarg { public dynamic ctx = new ExpandoObject(); } 也不需要使blarg从DynamicObject继承(并实现)?是。您可以在任何类中创建字段或属性动态 如果希望类本身是动态的,则只需要从dynamicbject继承(从技术上讲,您需要实现IDynamicMetaObjectProvider,但这通常是通过dynamicbject完成的);首先,dynamic无论如何都可以使用反射/元编程,因此您
class blarg
{
public dynamic ctx = new ExpandoObject();
}
也不需要使blarg从
DynamicObject继承(并实现)
?是。您可以在任何类中创建字段或属性动态
如果希望类本身是动态的,则只需要从
dynamicbject
继承(从技术上讲,您需要实现IDynamicMetaObjectProvider
,但这通常是通过dynamicbject
完成的);首先,dynamic
无论如何都可以使用反射/元编程,因此您只需附加一个带有成员的常规类,它就可以工作了-但您将无法添加新成员等。其次,“支持完整的dynamic
所需要做的一切”是实现IDynamicMetaObjectProvider
,而不是继承某些内容。“全部”用引号括起来,因为这不是小事DynamicObject
的存在是为了帮你完成一些繁重的工作,而ExpandoObject
则是为了你只需要一个财产包
但是由于调用者没有绑定到任何特定类型(因为他们使用的是
dynamic
),坦率地说,从DynamicObject
继承并不是什么大问题,您确实不清楚要做什么。请澄清问题。在任何类中都可以有动态类型的字段。。。您尝试了什么,遇到了什么问题?有了这样的东西,启动LINQPad或Visual Studio并尝试它通常会更容易…我尝试了,并且出现了编译错误,因此出现了问题,但我发现了问题,我正在向动态声明中添加类型,如下所示:public dynamic ExpandoObject ctx=new ExpandoObject();