相关疑难解决方法(0)

C#:从XML实例化类

我所拥有的是一组类,它们都实现了相同的接口,但在引擎盖下可能会有很大差异.我希望有一个配置文件控制在启动程序时哪些类进入集合,采取看起来像这样的东西:

<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#中是否有任何元编程工具允许这样做?

c# xml

13
推荐指数
5
解决办法
4391
查看次数

如果我只有Type实例,如何调用泛型方法?

class A
{
    public static void M<T>() { ... }
}

...
Type type = GetSomeType();
Run Code Online (Sandbox Code Playgroud)

然后我需要在A.M<T>()哪里打电话type == typeof(T).
反射?

.net generics

4
推荐指数
1
解决办法
1418
查看次数

是否存在反向操作类型?

我得到了Type,但这与我正在寻找的Class不同.

是否存在typeof的逆操作?

编辑

我需要该类才能使用通用存储库:

GenericRepository<BaseEntity> repository = new GenericRepository<BaseEntity>(new AzureBrightData());
Run Code Online (Sandbox Code Playgroud)

我从编写BaseEntity开始,所有实体类都从该BaseEntity下降,但问题是存储库需要知道要搜索的表.

例如,如果我们有(1,1)的分区键和行键组合对,则不允许我或存储库知道从哪个表获取注册表.这还不够,这就是我相信我需要桌子的原因.

c# reflection

2
推荐指数
2
解决办法
5311
查看次数

标签 统计

c# ×2

.net ×1

generics ×1

reflection ×1

xml ×1