2017-07-31 5 views
0

私はVS 2015 v14.0.25431.01を実行しています。3.次のコードをコンパイルしようとすると、問題のモジュールの1行目に "CS1513} expected"というエラーが表示されます。 。どうしましたか?VS 2015コンパイラが構造体にエラーを投げる

+0

これは剃刀のビューで定義されていますか? – Andez

+0

そのような型は構造体であってはいけません。変更可能なので、クラスでなければなりません。また、マークアップのインラインではなく、独自の.csファイルで定義する必要があります。 – Servy

+0

はい、それはかみそりビューで定義されています。 – Mark

答えて

0

@functionsディレクティブ内で構造を定義して問題を解決してください。

@{ 
    structState[] dumState = new structState[50]; 
} 


@functions 
{ 

    struct structState 
    { 
     private string s_abbrev; 
     public string abbrev 
     { 
      get 
      { 
       return s_abbrev; 
      } 
      set 
      { 
       s_abbrev = value; 
      } 
     } 

     private string s_name; 
     public string name 
     { 
      get 
      { 
       return s_name; 
      } 
      set 
      { 
       s_name = name; 
      } 
     } 

     public structState(string a_abbrev, string a_name) 
     { 
      s_abbrev = a_abbrev; 
      s_name = a_name; 
     } 
    } 

} 
+0

それはうまくいった。ここで構造体の配列を作成しようとすると、定義した配列名が認識されません(配列名はIntellisenseの下に表示されません):structState [] arrayState = new structState [50]; – Mark

+0

VS 2017でIntelliSenseの問題が発生していません。この構造体を定義したビューの外で使用することはできません。共有する場合は、ビューではなくコードで定義する必要があります。 –

+0

気にしないでください。構造体をpublicに設定する必要がありました - DOH!それは今働いている。助けのためのTxs! – Mark