0

我想在另一个脚本(在 C# 和 Unity3d 中)的函数中传递一个枚举值,如果我直接通过公共变量传递它们,我会得到一个“不一致的可访问性”错误(字段类型 'xx' 比字段'xx'),我没有找到如何解决这个问题。(下面的尝试#1)

所以我试图通过 SendMessage 函数传递一个列表(只能发送 1 个对象),但它现在说

“错误 CS0246:找不到类型或命名空间名称List1'。您是否缺少 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

谢谢

4

2 回答 2

1

问题是您AState的定义为privateandmodelGOscript的属性可能定义为public,protectedinternal。尝试给予AState限制较少的访问修饰符

于 2013-03-26T13:06:49.013 回答
0

不一致的可访问性通常是指所涉及的类级别。

确保您使用的类、枚举等在可访问性方面正确排列。

public class XScript
public enum AState
于 2013-03-26T13:23:36.950 回答