【发布时间】:2012-03-19 06:39:12
【问题描述】:
我有两类 A 和 B,我想通过另一个类中的方法 Separation() 传递 var 类型变量。我做了一些投射,但收到InvalidCastException 错误。请问您知道如何解决这个问题吗?
Class A{
var products =from u in XDoc.Descendants("product")
select new
{
Urunkod = u.Element("productId"),
UrunAdi = u.Element("title"),
};
XmlUrun.Separate(products);
}
Class B{
internal static void Separate(object products)
{
var o2 = CaseByExample(products, new
{
Urunkod = "",
UrunAdi = "",
});
}
public static T CaseByExample<T>(this object o, T type)
{
return (T)o;
}
}
【问题讨论】:
-
这将是何时使用
dynamic类型的一个很好的例子??? -
我不相信您可以使用匿名列表来做到这一点。也许您可以创建一个 DTO 类来包含您的 productId 和 title 值?
-
@dreza:我认为 DTO 会是一个更好的主意。更好的类型安全!