2011-07-12 1 views
0

私はこの巨大なプロジェクトに取り組まなければなりません。そして、この巨大なクラスは何百もの変数とメソッドと多くの部分クラスを持っています。巨大クラスのStackOverflowException

interface IBusinessReturn 
{ 

    string variableOne { get; set; } 
    string variableTwo { get; set; } 

    string variableHundred { get; set; } 
    //a lot more... 
} 

public partial class BusinessTransaction : IBusinessReturn 
{ 

    private string _variableOne; 
    public string variableOne 
    { 
     get { return variableOne; } 
     set { _variableOne= value; } 
    } 

    private string _variableTwo; 
    public string variableTwo 
    { 
     get { return variableTwo; } 
     set { _variableTwo = value; } 
    } 

    private string _variableHundred; 
    public string variableHundred 
    { 
     get { return variableHundred; } 
     set { _variableHundred = value; } 
    } 

    // And so it goes on till hundreds... 
} 

そして、このように書き、他のパーシャルがたくさん:

public partial class BusinessTransaction: IBusinessTransaction238 
{ 
    //Lots of methods 
} 

問題がある:それはすべて私が宣言したいくつかの新しい変数を除いて取り組んでいます。 (上記の例ではvarOneとTwo)。これらのvarに値を設定しようとすると、StackOverflowExceptionが得られます。私は彼らが他のすべてと同じように宣言されていることを100%確信しています。

これは私が呼んでいる方法です:

BusinessTransaction v763 = new BusinessTransaction(); 

v763.variableHundred = "Hi"; //working 
v763.variableOne = "Hello"; //StackOverflow HERE. 

私はなぜこれが起こっているため、何らかの理由を見ることができない、と私はこれだけ巨大なとは何かを持っている場合は、あなたが私に言うことを願ってこのクラスのメソッドと変数の量。

+0

ループのいくつかのタイプの内側にこれは可能でしょうか? – Woot4Moo

+2

あなたが '{get;セット; } 'getterとsetterを自動的に実装する構文? – 0x5f3759df

+0

C#では、公開メンバーがラクダキャスティングではなくパスカルケースにすることをお勧めします。 –

答えて

11

ゲッターを見てください。それらのいずれの場合もアンダースコアはありません。あなたは無限ループを引き起こしています。

public string variableOne 
{ 
    get { return variableOne; } 
    set { _variableOne= value; } 
} 
+0

解決策があれば良いキャッチー –

+0

彼はすぐに彼の本当のクラスの例としてそれを作って、それをミスタイプしない限り、彼のためにそれを修正することを望む... –

+0

そうだった。何かの上に時間があり、あなたはそれらの種類のものを見ることができません。ありがとうございました –

1

これはプライベートメンバーではなく、それ自身を返します。

public string variableOne 
{ 
    get { return _variableOne; // error was here 
    } 
    set { _variableOne= value; } 
}