gpt4 book ai didi

c# - 字符串文字转换为泛型的类型或命名空间 C#

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

我是 c# 的新手,我正在尝试创建一个方法,该方法接受一个字符串,然后使用该字符串作为类型实例化一个对象。

public void CreateRepository( string name) { 
var repository = new Repository<name>();
}

例如

显然我遇到了编译器错误,但如何将我的字符串转换为命名空间?

最佳答案

你可以这样做:

public void CreateRepository(string name)
{
var type = Type.GetType(name);
var genericRepositoryType = typeof(Repository<>).MakeGenericType(type);
var repositoryObj = Activator.CreateInstance(genericRepositoryType );
// N.B. repositoryObj variable is System.Object
// but is also an istance of Repository<name>
}

关于c# - 字符串文字转换为泛型的类型或命名空间 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3849792/

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