プライマリコンストラクターがVS2015でコンパイルされなくなった


98

今日まで、次のようなプライマリコンストラクタを利用できました。

public class Test(string text)
{
    private string mText = text;
}

これを行うには、以前のVisual Studio CTPで、これをcsproj-fileに追加する必要がありました。

<LangVersion>Experimental</LangVersion>

とにかく、これはVisual Studio 2015プレビュー(の有無にかかわらずLangVersion)では機能しなくなりました。誰かが何が起こっているのかについて何か考えを持っていますか?



15
この機能は無意味だと思ったのは私だけですか?私はそれのための実際の利点を見つけたことはありません。
TyCobb 2014年

2
少しぎこちない感じがしましたが、その背後にある哲学が好きです!
Matko 2014年

14
残念です。ただし、F#に移行すると、プライマリコンストラクターを自由に使用できます。F#に移動、csharpers、新しい言語機能は既にそこにあります;)
scrwtp '13 / 11/14

3
@TyCobb、プライマリコンストラクターは依存性注入で絶対に不可欠です。すべての依存関係の名前(および型)を4回繰り返すことなく、コンストラクター注入を(プロパティ注入ではなく)使用できます。
フョードルソイキン2015

回答:


143

誰かが何が起こっているのかについて何か考えを持っていますか?

うん-プライマリコンストラクターはC#6の計画から削除されました。新しいコンストラクターでは何らかの形で表示される可能性がありますが、C#6にはありません。

詳細については、チームからの「言語機能セットの変更」の投稿を参照してください。


本当に悲しいです!彼らは非常に便利に見えた。
Lundbergによる

@PerLundberg:C#7にもありません。C#の設計チームがC#8のレコードの種類を再検討するのではないかと思いますが、だからといって、間違いなくそこに到達するわけではありません。
Jon Skeet、2018年

のが最善の結果を期待してみましょう。:)私はそれらがいくつかのC#の投稿で言及されているのを見ました、そしてそれは「単純なクラス」問題を試し解決する別の興味深い方法のように見えました。
Lundbergによる2018 1
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.