gpt4 book ai didi

c# - 将类型本身而不是实例保存在字典中

转载 作者:太空宇宙 更新时间:2023-11-03 21:04:24 25 4
gpt4 key购买 nike

GridParserPointParser 类派生自Parser 类。我怎样才能将它们 Types 自己保存在字典中而不是它们的实例中?有可能吗?

public class GridParser : Parser {}
public class PointParser: Parser {}
var _dictionary = new Dictionary<int, Type>
{
{ 1 , GridParser },
{ 2 , PointParser }
};

最佳答案

使用typeof运算符获取对象类型,然后将其存储在字典中。

public class GridParser : Parser {}
public class PointParser: Parser {}
var _dictionary = new Dictionary<int, Type>
{
{ 1 , typeof(GridParser) },
{ 2 , typeof(PointParser) }
};

更新根据下面的问题作者评论:创建字典后,您想要一个类型的实例,您可以使用 Activator class像这样:

var t = _dictionary[0];
var some_var = (object)Activator.CreateInstance(t);
//Or dynamically
dynamic myDynVar = Activator.CreateInstance(t);

关于c# - 将类型本身而不是实例保存在字典中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42243749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com