問題タブ [automatic-properties]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c#-3.0 - 自動プロパティ:「設定」中のチェック/検証
C#3.0の自動プロパティが優れていることに私たちは皆同意できると思います。このようなもの:
これに還元されます:
素晴らしい!
しかし、たとえば、「設定」中にToUpperInvariant()メソッドを使用してName文字列を変換したい場合は、どうすればよいでしょうか。プロパティを作成する古いC#2.0スタイルに戻す必要がありますか?
それとも、これを達成するためのよりエレガントな方法はありますか?
c# - C# 自動プロパティ -- デフォルトの設定
C# パブリック プロパティの既定値を設定する最も簡単な方法は何ですか?
// これにデフォルトを設定するにはどうすればよいですか?
プライベート プロパティを使用し、get/set パブリック プロパティを実装することを提案しないでください。これを簡潔に保つように努めており、なぜそれがはるかに優れているのかについて議論したくありません. ありがとう。
vb.net - セットのアクセスレベルが異なるVB.net自動プロパティ
C# では、 get と set に対して異なるレベルのアクセスで値を自動プロパティ化できます。. . 例えば
vb.net の自動プロパティを使用してそれを行う方法はありますか?それとも、プロパティの長い時間をかけて実装する必要がありますか?
たとえば、私はいつもこれをしたくありません
.net - .NETの自動プロパティの目的
どうしてこれなの:
これよりも優れていると考えられます:
私は私の人生のためにそれを解決することはできません。誰かが光を当てることができますか?
ありがとう
c# - JavaにC#のような自動プロパティがないのはなぜですか?
C#には、コードを大幅に簡素化する自動プロパティがあります。
Javaはこれだけのコードを記述しますが、次のようになります。
Javaがこのようなものを実装していない特別な理由はありますか?
c# - ResharperはSerializableクラスのautoプロパティに自動的に変換されません-私はすべきですか?
私は今日この問題に遭遇し、コードのクリーンアップを行うときに、R#がプロパティをバッキングフィールドを持つものからSerializableAttributeで装飾されたクラスの自動プロパティに変換しないことを確認できました。
上記のコードは、自動コードクリーンアップ中に変更されません。もちろん、これは手動で行うことができますが、それでもR#からクイックアクションメニューオプションを取得して、個々のプロパティレベルで行うことができます。[Serializable]
しかし、クラスで自動プロパティを使用する際に私が気付いていない根本的な問題があるかどうか疑問に思います。
JetBrainsフォーラムのスレッドでは、この問題が議論されている問題について言及されていますが、完全には解決されていないようです。
c# - c#コンストラクターと自動プロパティおよびオブジェクト初期化子
私はautoプロパティを頻繁に使用しましたが、コンストラクターで初期化された読み取り専用のバッキングフィールドを使用してクラスを設定することからますます離れています。私はすべてのセッターを削除し、プロパティにセッターが明らかに必要な場合にのみバックを追加します。
これにより、クラスがより堅牢でエレガントなOOになり、以前にこれを行わなかったことに自分自身を蹴っています。
コンストラクターは一般的にc#コード例で非常に十分に活用されておらず、自動プロパティとオブジェクト初期化子がこれの大きな部分であると思うので、私の質問は、なぜc#チームがこのような機能をプッシュし、ベストプッシュ機能の提供に重点を置いていないのかということですもっと練習します。一般的に、悪いコードを書くのは簡単すぎると思いますし、コーダーが良いコードを書くのを助けるためにもっと多くのことができると信じています
visual-studio - Windowsアプリケーションのサイズを変更するときにコンポーネントを再配置できるプロパティ
Windowsのサイズを変更したり最大化したりしたときに、Visual Studioを使用して作成されたWindowsアプリケーションのコンポーネントが自動的に配置されるフォームまたはコンポーネントのプロパティはありますか?ウィンドウを復元しましたか?そうでない場合、どうすれば手動で行うことができますか?
.net - Fluent NHibernateのAccess.BackingFieldのユースケースは何ですか?
のドキュメントAccess.BackingField()
は、これを示しています。
自動プロパティのバッキングフィールドを使用するようにアクセス戦略を設定します。
自動プロパティがバッキングフィールドでコンパイルされることは理解していますが、プロパティが定義上バニラゲッター/セッターである場合、セッターを使用する(つまり、FNHのデフォルトを使用する)のではなく、バニラフィールドに直接移動することでどのような利点が得られます。
私が考えることができる唯一のことは、誰かが後でセッターにロジックを追加した場合にマッピングを壊したいと思うかもしれないということです。
私は何が欠けていますか?
c# - 自動プロパティに対するケース
上司と私は、自動プロパティを使用することの利点と欠点について定期的に議論しています。
対
為に
すべてのフィールドがそのようにコーディングされていると、クラスを理解しやすくなり、長期的には多くの時間を節約できるため、それらを使用することを強く支持します(ほとんどの場合、毎回ビットレスコード)。
に対して
フィールドはオブジェクトの状態を反映する必要があり、プロパティを持つフィールドの代わりにプロパティを使用してアクセスすると、デバッグ中にその情報が失われるため、プログラミングの原則に違反していると彼は主張します。(上司、これを読んで、あなたの言いたいことと違う場合は、お気軽にコメントしてください ;))
みんなはこの件についてどう思う?
注:私は重複を見てきましたが、この質問のポイントである反対の点については話していません。「私は彼らを愛している」/「私は気にしない」と言っているだけです。