详细信息: 在 Unity3d 上的 C# 中搜索了统一文档,但该示例不适合我的情况,对于我访问的其他网站也是如此。(我没有按我应该的方式列出它们。)
我想要做的是传递一个带有构造函数的类变量作为组件:
CustomComponentClass ccc = new CustomComponentClass(2343, "blop");
gameObject.AddComponent(ccc);
我想知道我正在尝试的东西是否可行,或者我是否错过了一些东西......
问题:
gameObject.AddComponent(ccc); -> cannot convert ccc to string.
gameObject.AddComponent<ccc>(); -> Are you missing a using directive or an assembly reference? (i'm not, i'm using a variable and all is in the same namespace)
gameObject.AddComponent<CustomComponentClass>(ccc); -> UnityEngine.GameObject.AddComponent(string) cannot be used with the type arguments
gameObject.AddComponent<CustomComponentClass>(2343, "blop"); -> No overload for method AddComponent takes 2 arguments
无论我尝试什么都行不通。C# 并不像 javascript,如果我是对的,我们曾经能够在 js 的 addcomponent 中传递变量。
上下文: 我必须在构造函数中绝对传递它。我有 2 个私有字段,出于安全原因,我不能将其设为静态、常量或公共字段。
选项: 如果答案对我来说太复杂,我可能会进行 get/set 并检查字段是否为空。