相关疑难解决方法(0)

匿名类的通用列表

在C#3.0中,您可以使用以下语法创建匿名类

var o = new { Id = 1, Name = "Foo" };
Run Code Online (Sandbox Code Playgroud)

有没有办法将这些匿名类添加到通用列表?

例:

var o = new { Id = 1, Name = "Foo" };
var o1 = new { Id = 2, Name = "Bar" };

List<var> list = new List<var>();
list.Add(o);
list.Add(o1);
Run Code Online (Sandbox Code Playgroud)

另一个例子:

List<var> list = new List<var>();

while (....)
{
    ....
    list.Add(new {Id = x, Name = y});
    ....
}
Run Code Online (Sandbox Code Playgroud)

.net c# generics anonymous-types

398
推荐指数
18
解决办法
30万
查看次数

将实例化的System.Type作为泛型类的类型参数传递

标题有点模糊.我想知道的是,如果可能的话:

string typeName = <read type name from somwhere>;
Type myType = Type.GetType(typeName);

MyGenericClass<myType> myGenericClass = new MyGenericClass<myType>();
Run Code Online (Sandbox Code Playgroud)

显然,MyGenericClass被描述为:

public class MyGenericClass<T>
Run Code Online (Sandbox Code Playgroud)

现在,编译器抱怨'找不到类型或命名空间'myType'."必须有办法做到这一点.

.net c# generics

174
推荐指数
2
解决办法
8万
查看次数

使用Reflection设置类型为List <CustomClass>的Property

如何使用反射创建具有自定义类(List <CustomClass>)的通用List?我需要能够添加值并用于 propertyInfo.SetValue(..., ..., ...)存储它.我将这些List <>存储为其他数据结构会更好吗?

编辑:

我应该指出对象更像是这样,但Marc Gravell的回答仍然有效.

class Foo
{
    public List<string> Bar { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# reflection .net-2.0

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×3

.net ×2

generics ×2

.net-2.0 ×1

anonymous-types ×1

reflection ×1