この記事では主に C# での new の使用法をいくつか紹介します。エディターで見てみましょう
C# では、new キーワードは新しい演算子
は、オブジェクトを作成し、コンストラクターを呼び出すために使用されます。
新しい修飾子
は、継承されたメンバーを基本クラスのメンバーから隠すために使用されます。新しい制約
は、型パラメータとして使用できるパラメータの型を制約するためにジェネリック宣言で使用されます。new 修飾子 (C# リファレンス)
new キーワードを修飾子として使用すると、基本クラスから継承されたメンバーを明示的に非表示にすることができます。継承されたメンバーを非表示にするということは、メンバーの派生バージョンが基本クラスのバージョンを置き換えることを意味します。 new 修飾子を使用せずにメンバーを非表示にすることは許可されていますが、警告が生成されます。 new を使用してメンバーを明示的に非表示にすると、この警告が抑制され、代わりに派生バージョンが使用されるという事実がログに記録されます。 継承されたメンバーを非表示にするには、派生クラスで同じ名前のメンバーを宣言し、 new 修飾子new 演算子 (C# リファレンス)
1 を使用してオブジェクトを作成し、呼び出します。コンストラクタ。例:
Class1 o = new Class1();
2。値型のデフォルトのコンストラクターを呼び出すためにも使用されます
3 と同等です。 new 演算子はオーバーロードできません。
4. 新しい演算子がメモリの割り当てに失敗した場合、OutOfMemoryException 例外がスローされます新しい制約 (C# リファレンス)
新しい制約は、ジェネリック クラス宣言内の型パラメーターが次のように指定されている必要があることを指定しますパブリックのパラメーターなしのコンストラクターがあります。ジェネリック クラスがその型の新しいインスタンスを作成するとき、次の例に示すように、この制約を型パラメーターに適用します。
class ItemFactory<T> where T : new() { public T GetNewItem() { return new T(); } }
プロパティ
または型は、同じ名前を持つすべての基本クラスのメンバーを非表示にします。2. クラスまたは構造体にメソッドを導入して、基本クラス内の同じ名前の属性、フィールド、型を非表示にします。また、同じシグネチャを持つすべての基本クラスのメソッドを非表示にします。
3. クラスまたは構造体にindexer
を導入すると、同じ名前を持つすべての基本クラスのインデクサーが非表示になります。4. 同じメンバーに対して new と override を同時に使用するのは間違いです。
注: 継承されたメンバーを非表示にしない宣言で new 修飾子を使用すると、警告が生成されます。 例 この例では、ネストされたクラス MyClass が、基本クラス内の同じ名前のクラスを非表示にします。この例では、完全修飾名を使用して非表示のクラス メンバーにアクセスする方法を示すだけでなく、新しい修飾子を使用して警告メッセージを抑制する方法も示します。りー
以上がC# での new のいくつかの使用法の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。