如何使用强类型字典<string,Type>将字符串与类关联

use*_*291 4 c#

我想创建一个字典来将字符串与类关联,例如:

"dog" -> Dog class
"cat" -> Cat class
Run Code Online (Sandbox Code Playgroud)

所以我试过这个

public Dictionary<String, Type> dic = new Dictionary<String, Type>();
dic.Add("dog", Dog);
Run Code Online (Sandbox Code Playgroud)

但是Add不接受Dog.

那么语法是什么?

Fre*_*örk 11

您应该使用typeof运算符来获取相应的Type对象:

public Dictionary<String, Type> dic = new Dictionary<String, Type>();
dic.Add("dog", typeof(Dog));
Run Code Online (Sandbox Code Playgroud)


STW*_*STW 6

在.Net中有一个专用类,System.Type用于描述系统中的类/结构/枚举(任何类型). Dog是你想要这个信息的类,要获得它,你可以使用Typeby使用它来检索它typeof(Dog),或者 - 如果你有一个Dog你可以使用的实例myDog.GetType();