2016-10-27 2 views
0

エラーCS0236に問題があります。エラーCS0236:フィールド初期化子が非静的フィールド、メソッド、またはプロパティを参照できません

まず:

エラーCS0236:フィールド初期化子は非静的 フィールドを参照することはできません、メソッド、またはプロパティConverter.Newton

public class Converter 
{ 
    public string Celsiusz { get; set; } 
    public string Fahrenheit { get; set; } 
    public string Kelvin{ get; set; } 
    public string Rankinen { get; set; } 
    public string Reaumur { get; set; } 
    public string Romer { get; set; } 
    public string Delisle { get; set; } 
    public string Newton { get; set; } 


    double CelsiuszDouble; 

    bool bupa = double.TryParse(Newton, out CelsiuszDouble); 
} 

は、2つのエラーが来ています

第2:

エラーCS0236:フィールド初期化子は非静的 フィールドを参照することはできません、メソッド、またはプロパティConverter.CelsiuszDouble

+0

エラー 'Converter.Nevton'では、その場合にあなたのコードのスペルミスではありませんか? –

+3

最後のコード行は、クラス定義では意味がありません。私はそれがどこかの方法にあるべきだと思う。 (コードの最後の行の両方、実際に。) – David

+0

申し訳ありませんがエラーは言語で書かれていて、私は間違いで英語に翻訳しました。私はすでに修正済みです – Marek

答えて

1

私は@Davidに同意します。クラス定義にそのようなコードを書くことはできません。その部分を書く必要がありますbool = ....コンストラクタまたはです。

1

このコードは、したがって、あなたがいない持っている、非静的クラスのパブリックプロパティにアクセスしようとしていますそのインスタンスにアクセスします。

bool bupa = double.TryParse(Newton, out CelsiuszDouble); 

プライベートバッキングフィールドを持つようにプロパティを変更した場合は、コード内でそれを使用できます。

関連する問題