【问题标题】:Generate Cast type dynamically in C#在 C# 中动态生成 Cast 类型
【发布时间】:2010-11-13 00:15:10
【问题描述】:

请在 c# 中有一个类,其主要功能是将类型和对象作为字典返回服务。

是否可以在前端将对象发送到 WCF 服务。

即使用反射从 types.ToString() 中获取对象的类型,并使用类型转换对象。

注意返回字典的类和我的前端在不同的项目中,所以不同的命名空间:

Type repType = typeof(List <>).MakeGenericType(Type.GetType(EntityandTypes[entity]));
object rep = Assembly.GetAssembly(repType).CreateInstance(repType.FullName);
grdResult.ItemsSource = 
    e.Result.ToList().Cast<typeof(Type.GetType(EntityandTypes[entity]))>();

注意:EntityandTypes 是一个包含 Object 及其类型的字典。

【问题讨论】:

标签: c# dynamic types casting


【解决方案1】:

我们在谈论什么样的类型?上课?它是什么类型的服务?

如果是 WCF,一种选择是使用类型共享以在每一端使用 same 类型,但这有点滥用 SOA。你不能cast一个类到一个非常不同的类型,但是你可以投影到一个不同的类。这里讨论了各种方法:

How to copy value from class X to class Y with the same property name in c#?

【讨论】:

    【解决方案2】:

    您想对演员表值做什么?演员表通常在编译时产生影响,而您在执行时要求某些东西。

    如果您能解释您想如何使用它,我们或许可以帮助您围绕它进行设计。

    【讨论】:

    • 我实际上是在silverlight中返回一个实体对象并绑定到一个数据网格。我想找出这个实体对象的属性并绑定到它。比如说我有一个结果 List en = e.Result e.Result 返回一个实体对象列表,但我需要知道它们确实是哪个实体对象。所以我需要这样的方法 Datagrid.itemSource = en.cast();
    • 为什么需要知道它们是哪种实体类型?记住您在编译时不知道类型,这会给您带来什么好处?
    猜你喜欢
    • 2010-10-20
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 2012-05-29
    • 2021-08-31
    相关资源
    最近更新 更多