我所拥有的是一组类,它们都实现了相同的接口,但在引擎盖下可能会有很大差异.我希望有一个配置文件控制在启动程序时哪些类进入集合,采取看起来像这样的东西:
<class1 prop1="foo" prop2="bar"/>
Run Code Online (Sandbox Code Playgroud)
把它变成:
blah = new class1();
blah.prop1="foo";
blah.prop2="bar";
Run Code Online (Sandbox Code Playgroud)
以非常通用的方式.我不知道该怎么做的是prop1将配置文件中的字符串转换为代码中的实际属性访问器.在C#中是否有任何元编程工具允许这样做?
class A
{
public static void M<T>() { ... }
}
...
Type type = GetSomeType();
Run Code Online (Sandbox Code Playgroud)
然后我需要在A.M<T>()哪里打电话type == typeof(T).
反射?
我得到了Type,但这与我正在寻找的Class不同.
是否存在typeof的逆操作?
我需要该类才能使用通用存储库:
GenericRepository<BaseEntity> repository = new GenericRepository<BaseEntity>(new AzureBrightData());
Run Code Online (Sandbox Code Playgroud)
我从编写BaseEntity开始,所有实体类都从该BaseEntity下降,但问题是存储库需要知道要搜索的表.
例如,如果我们有(1,1)的分区键和行键组合对,则不允许我或存储库知道从哪个表获取注册表.这还不够,这就是我相信我需要桌子的原因.