-2

そのため、プログラム用のカスタム コントロールを作成しています。文字列プロパティを追加しようとしましたが、変更しようとすると C# がクラッシュします。これは私が使用しているコードです

private string series = "None";
[Description("Tells What the Series is")]
[Category("Element")]
[DefaultValue("None")]
public string Series
{
    get { return series; }
    set { Series = value; }
}
4

4 に答える 4

8

再帰的に設定しています。

private string series = "None";
[Description("Tells What the Series is")]
[Category("Element")]
[DefaultValue("None")]
public string Series
{
   get { return series; }
   set { series = value; }  // notice series not Series
}

自動プロパティを使用することをお勧めしますか?

[Description("Tells What the Series is")]
[Category("Element")]
[DefaultValue("None")]
public string Series
{
    get; set;
}

コンストラクターで値を初期化する必要があります。

于 2013-04-01T19:47:05.980 に答える
2

Seriesプロパティのセッターでプロパティを再帰的に設定しようとして います。これにより、StackOverflowException.

set { series = value; }

あなたが望むものです。

于 2013-04-01T19:47:09.080 に答える
2

Yoy はアプリで無限ループを取得したため、stackoverflow エラーでクラッシュすると思います。

   set { Series = value; }

する必要があります

   set { series = value; }
于 2013-04-01T19:47:26.953 に答える
2

プロパティ値自体を「セット」に設定しようとしているため、無限再帰が作成されます。

変化する

set { Series = value; }

set { series = value; }

(小文字の s)。

于 2013-04-01T19:47:34.920 に答える