gpt4 book ai didi

c# - 有没有办法为泛型实例提供构造函数参数?

转载 作者:行者123 更新时间:2023-11-30 16:32:57 26 4
gpt4 key购买 nike

我不能在 C# 中这样做:

    catch (Exception exception)
{
var wrappedException = new TException(exception);
}

在创建类型参数 'TException' 的实例时出现错误“无法提供参数。只是想与社区核实一下是否有任何方法可以做这样的事情?

最佳答案

最简单(也是最好)的方法是自己调用 Activator.CreateInstance。这就是 C# 编译器实际做的事情,因为 new() 约束只是确保指定类型具有无参数构造函数;调用 new TException() 实际上使用 Activator.CreateInstance 来实例化类型。

像这样的东西会起作用:

throw (Exception)Activator.CreateInstance(typeof(TException), exception);

关于c# - 有没有办法为泛型实例提供构造函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3644392/

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