gpt4 book ai didi

C# 语法帮助 -> Get() 是什么意思,其中 T 意味着什么

转载 作者:行者123 更新时间:2023-12-02 10:52:04 25 4
gpt4 key购买 nike

public static T Get<T>() where T : class
{
string implName = Program.Settings[typeof(T).Name].ToString();
object concrete = Activator.CreateInstance(Type.GetType(implName));

return (T)concrete;
}

请解释一下 Get() where T 的含义是什么?

欢迎留下一些阅读网址。

最佳答案

where T : classT 允许的类型施加限制。这将

  1. 如果输入错误的类型,则会出现编译器错误
  2. 允许您根据约束访问方法/属性或实例化 T 的实例

因此,对于您的方法,如果您像这样调用它 Get<int>() ,则会产生错误自 int不是一个类。

public static T Get<T>() where T : class
{
string implName = Program.Settings[typeof(T).Name].ToString();
var implType = Type.GetType(implName);

return (T)Activator.CreateInstance(implType);
}

关于C# 语法帮助 -> Get<T>() 是什么意思,其中 T 意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4425420/

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