创建动态匿名类型变量

时间:2009-10-05 12:42:29

标签: c# anonymous-types anonymous-class

我可以创建一个匿名类型变量,然后添加更多属性吗?

E.g。 var x = new { Name = "Ahmed" };并希望将Age添加到其中? 我怎么能这样做?

另一个问题:我在一些博客上看到类型AnonymousType这个类的名称空间是什么?这是例子http://www.codeproject.com/KB/cs/AnonymousTypesInCSharp.aspx

4 个答案:

答案 0 :(得分:6)

第一个问题 - 你不能。

第二个问题 - AnonymousType是该文章的作者创建的类型。您必须下载其项目的源代码才能使用该类型。

答案 1 :(得分:0)

不,你不能。

第二个问题:没有这样的事情,它可能会引用您无法访问的编译器生成的类。

答案 2 :(得分:0)

不,这对您的申请来说效率不高。 你确信你不想介绍某种类吗?

using System;
class Generic{

   public void doSomething(){}

   private string name;
   private string _othreFeature;

}

您可以随时使用新功能扩展它。

答案 3 :(得分:0)

这是一个完全合乎逻辑的问题......我使用Java和C#这两个都是我的一个很大的宠儿......事实上几乎每种语言都有某种类型的匿名类型lol ... PHP ,JavaScript,C#,vb(全部),列表继续......

当您基本上将数据投入到对象中并且不需要为其创建类时,这是一个非常有用的功能。

事实上这正是LINQ所使用的......

var someObject (can be interable/Enumerable) = 
    from p in products
    where p.id == 123
    select new { productid };
等等,你明白了......这非常有用...... :-)

干杯!