我想在另一个脚本的函数中传递枚举值(在C#和Unity3d中),如果我直接通过公共变量传递它们,我会遇到“不一致的可访问性”错误(字段类型'xx'是比字段“xx”更难访问,我没有找到如何解决这个问题。 (尝试下面的#1)
所以我试图通过SendMessage函数传递List(只能发送1个对象),但它现在说
“错误CS0246:找不到类型或命名空间名称
List
1”。 您是否缺少using指令或程序集引用?“
你知道怎么做吗?
以下是我的尝试:
private AState currentAState;//attempt #1 //with all my var "public" : same thing
//...
modelGOscript.currentA = currentAState;//#1
//...
modelGO.SendMessage ("animToPlay", new List<AState>(currentAState, newAState) );//#2
由于
答案 0 :(得分:1)
问题是您的AState
定义为private
,modelGOscript
的属性可能定义为public
,protected
或{{1 }}。尽量减少internal
限制access modifier。
答案 1 :(得分:0)
不一致的可访问性通常指的是所涉及的类级别。
确保您使用的类,枚举等在可访问性方面正确排列。
public class XScript
public enum AState