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がとして定義されprivatemodelGOscriptのプロパティがおそらく、、またはとして定義されているpublicことprotectedですinternalAState制限の少ないアクセス修飾子を指定してみてください。

于 2013-03-26T13:06:49.013 に答える
0

一貫性のないアクセシビリティとは、通常、関係するクラスレベルを指します。

使用しているクラスや列挙型などが、アクセシビリティに関して適切に並んでいることを確認してください。

public class XScript
public enum AState
于 2013-03-26T13:23:36.950 に答える