我遇到了与本主题相同的问题:Set C# Property that has no Setter 不同之处在于我的Class有一个内部构造函数,所以我必须创建一个这样的实例:
var _TxObjectImpl = (TxObjectImpl) typeof (TxObjectImpl).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Instance,
null, Type.EmptyTypes, null).Invoke(null);
该类有两个属性:
public string StringId
{
get
{...
}
return str;
}
public object PlanningRepresentation
{
get
{
return ...;
}
}
是否可以设置这些属性并同时调用构造函数?
答案 0 :(得分:2)
您无法从没有可访问的public
或protected
构造函数的基类派生您的类。
如果基类实现了一个接口,你可以使用decorator模式并使用反射创建它的实例作为新类的私有字段。