問題タブ [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.

0 投票する
1 に答える
105 参照

c#-3.0 - 自動プロパティとコンストラクターでの予期しない C# の動作

これを理解するには、デバッグが必要でした(またはそう思います)。私はあなたにコードを解き放ち、あなたが思いつくものを見ていきます。次の単純なContactクラスがあります。

  1. いくつかの自動プロパティ、
  2. 常にプロパティをインクリメントし、Contact.ID取得した引数に従って他のプロパティを設定 するパラメーター化されたコンストラクター
  3. パラメーター化されたコンストラクターを常に既定値で呼び出すパラメーターなしのコンストラクター。

まずコードを見てください。その出力と質問はコードに従います。

出力:

質問:

パラメータ化されたコンストラクターが常に呼び出され、常に ID プロパティをインクリメントしているにもかかわらず、2 番目と 3 番目の連絡先の Contact.ID == 0 がそれぞれ 1 と 2 ではなく、なぜですか?

0 投票する
1 に答える
717 参照

svn - Subversion 設定ファイルの auto-props セクションに複数行のプロパティを書き込む方法は?

正しい構文は何ですか?

また

またはなし?構成ファイルに複数行のプロパティを書き込むことはできますか?

0 投票する
2 に答える
3462 参照

c# - 自動プロパティを使用したインターフェイスの明示的な実装

自動プロパティを使用して明示的にインターフェイスを実装する方法はありますか? たとえば、次のコードを検討してください。

このコードはコンパイルされます。ただし、1 行目を 2 行に置き換えると、コンパイルされません。

(2 行目を機能させる必要があるわけではありません。ただ興味があるだけです。)

0 投票する
5 に答える
467 参照

c# - 構造体のコンストラクターに問題があります(コンパイラーは、すべての構造体の自動プロパティを完全に初期化していないと叫んでいます)

私は次のコードを持っています:

コンパイラは次のように不平を言っています

制御が呼び出し元に返される前に、自動的に実装されたプロパティのバッキングフィールドを完全に割り当てる必要があります。コンストラクター初期化子からデフォルトのコンストラクターを呼び出すことを検討してください。

私のコンストラクターはこの構造体の値を完全に初期化しているので、これは私には理解できません。ではない?

0 投票する
4 に答える
1125 参照

c# - 自動プロパティが get アクセサーと set アクセサーの両方を定義する必要がある技術的な理由はありますか?

自動プロパティは get および set アクセサー メソッドを定義する必要があることを知っています。また、これらのアクセサーのいずれかをアクセス修飾子によって非表示にできることも知っています。

コンパイラが満足する技術的な理由はありますか?

だがしかし

このコードの私の (おそらく間違った) 理解は、コンパイラが次のように呼び出し元のコードから隠されているバッキング フィールドを生成するということです。

コンパイラがそれを生成できる場合、プロパティ宣言のセッターの存在 (または欠如) に基づいて set アクセサー関数を省略できない理由はありますか?

これは技術的な制限ではなく、機能範囲の問題である可能性があることを理解しています。また、C# 言語仕様をまだ参照していないことも率直に認めます。

[更新2 ]

許してください...私はばかです:P、わかりました、先輩の瞬間を容認してくれてありがとう/

0 投票する
12 に答える
58026 参照

c# - C# 遅延読み込み自動プロパティ

C# では、

自動プロパティを、指定されたデフォルト値を持つ遅延ロードされた自動プロパティに変える方法はありますか?

本質的に、私はこれを変えようとしています...

デフォルトを指定でき、残りは自動的に処理されます...

0 投票する
1 に答える
1657 参照

c# - 自動プロパティの Fluent NHibernate PropertyNotFoundException

Fluent NHibernate にコレクションをマップさせようとしています。私のクラス定義は次のとおりです。

私のマッピング:

チームをインスタンス化し、それを永続化しようとする単体テストを作成しました (テスト ベースには依存関係の構成などがあります)。

テストを実行すると、次のエラーが発生します。

SetUp : FluentNHibernate.Cfg.FluentConfigurationException : SessionFactory の作成中に無効または不完全な構成が使用されました。詳細については、PotentialReasons コレクションと InnerException を確認してください。

  • データベースが Database メソッドで構成されていません。

----> NHibernate.MappingException: マッピング ドキュメントをコンパイルできませんでした: (XmlDocument)
----> NHibernate.PropertyNotFoundException: クラス 'ClientTeam'` にフィールド '_clients' が見つかりませんでした

NHibernate のドキュメントに目を通して、いくつかの Google 検索を行いましたが、この問題に対処しているように見えるものは見つかりません。Fluent NHibernate の Referencing メソッドのドキュメントでは明示的に自動プロパティが使用されているため、それは問題ではないと確信しています。

この場合、 NHibernate が_clientsそれをマップすべきフィールドだと考えるのはなぜでしょうか?

0 投票する
3 に答える
2548 参照

c# - 自動プロパティでイベントを発生させることはできますか?

自動プロパティを使用しても、プロパティが変更されたときにイベントを発生させることができるかどうか疑問に思いました。これが私の現在のクラスです。(もちろん、実際のUserクラスははるかに多くのプロパティ/フィールドを取得しました)。

そのため、自動プロパティを利用してOnChangedイベントを発生させる方法があるかどうか疑問に思いました。言い換えれば、半自動プロパティは可能ですか?

0 投票する
2 に答える
2009 参照

c# - C#のリストでnull例外

ねえ、私はC#でジェネリックリストを操作しようとしていますが、リストにメモリを割り当てた後、何らかの理由でunhandeledNullExceptionが発生しています。

私は自分の問題が何であるかを知り、プロパティを正しく使用しませんでした。GeoInfoが私のクラスのプライベートメンバーであると言えば、どのようにプロパティを実行するのですか、私は試しました:

よろしくお願いします

0 投票する
4 に答える
13673 参照

c# - C#の仮想プロパティにセッターを追加する

私はこのような状況にあります:

現在、一部の派生クラスでは、プロパティ値は合成値であるため、セッターはありません。

これは正常に機能します。ただし、派生クラスの一部には、より従来のバッキングストアが必要でした。しかし、自動プロパティの場合や明示的なバッキングストアの場合のように、どのように記述しても、エラーが発生します。

Derived2.MyProp.set':' BaseClass.MyProp'にはオーバーライド可能なセットアクセサーがないため、オーバーライドできません

これを機能させるにはどうすればよいですか?