相关疑难解决方法(0)

ExpandoObject的真正好处是什么?

添加到.NET 4 的ExpandoObject类允许您在运行时任意设置对象的属性.

使用a Dictionary<string, object>或者甚至是Hashtable有什么优势吗?据我所知,这只是一个哈希表,您可以使用稍微简洁的语法访问.

例如,为什么这样:

dynamic obj = new ExpandoObject();
obj.MyInt = 3;
obj.MyString = "Foo";
Console.WriteLine(obj.MyString);
Run Code Online (Sandbox Code Playgroud)

真的比以下更好,或者大不相同:

var obj = new Dictionary<string, object>();
obj["MyInt"] = 3;
obj["MyString"] = "Foo";

Console.WriteLine(obj["MyString"]);
Run Code Online (Sandbox Code Playgroud)

使用ExpandoObject而不是仅仅使用任意字典类型可以获得什么真正的优势,除了不明显你正在使用将在运行时确定的类型.

.net c# .net-4.0 c#-4.0

573
推荐指数
7
解决办法
12万
查看次数

如何定义原始类型的泛型类型限制?

我有以下方法与泛型类型:

T GetValue<T>();
Run Code Online (Sandbox Code Playgroud)

我想将T限制为原始类型,如int,string,float,但不是类类型.我知道我可以像这样为类类定义泛型:

C GetObject<C>() where C: class;
Run Code Online (Sandbox Code Playgroud)

我不确定原始类型是否可能以及如果可能.

.net c# generics type-constraints

64
推荐指数
5
解决办法
5万
查看次数

如何使用动态对象类型创建通用List

我想创建一个Type对象的通用列表.

我有 ...

Type type = typeof(Foo);
object model = GetModel();
Run Code Online (Sandbox Code Playgroud)

现在我要创建一个 new List<Foo>((Foo)model)

这可能在C#中吗?

c# generics list dynamic

3
推荐指数
1
解决办法
4630
查看次数

标签 统计

c# ×3

.net ×2

generics ×2

.net-4.0 ×1

c#-4.0 ×1

dynamic ×1

list ×1

type-constraints ×1