gpt4 book ai didi

c# - 反射 C# : Create instance of an object which has no default constructor

转载 作者:行者123 更新时间:2023-11-30 19:43:17 25 4
gpt4 key购买 nike

我知道 FormatterServices.GetUninitializedObject 可以做到这一点,但 xbox 的核心库不包含该类。

我正在开发一个 XNA 游戏,我正在努力让它在那里工作。 Activator.CreateInstance 可用,但我需要一个默认构造函数,真丑。

我想到如果没有默认构造函数,我取最短的并传入任何值(例如当它需要一个 int 和一个 object 时,我通过在 0null 中)。但问题是,如果构造函数与传入的对象一起工作,它可能会抛出异常。好吧,我仍然可以将它写在 try catch block 中,也许它可以那样工作。但我真的不太可能那样做。还有其他解决办法吗?

感谢您的帮助:)

最佳答案

你不需要默认构造函数,我认为有一个重载,你可以在其中传递参数

Activator.CreateInstance (typeof (Foo), new object []{  args});

也就是说,您也可以使用反射来获取构造函数并直接调用它。

编辑:等等 - 重读问题,你是说你不知道要传递什么?那你为什么要创建它?

关于c# - 反射 C# : Create instance of an object which has no default constructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15589136/

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