ホームページ >バックエンド開発 >C#.Net チュートリアル >C# における部分キーワードの役割

C# における部分キーワードの役割

高洛峰
高洛峰オリジナル
2016-12-13 11:46:031155ブラウズ

1. ローカルタイプとは何ですか?

C# 2.0 では、ローカル型の概念が導入されています。ローカル型を使用すると、クラス、構造体、またはインターフェイスをいくつかの部分に分割し、それらをいくつかの異なる .cs ファイルに実装できます。

部分型は次の状況に適しています:

(1) 型が特に大きいため、1 つのファイルに実装すべきではありません。
(2) タイプ内のコードの一部は自動ツールによって生成されたコードであり、自分で作成したコードと混合しないでください。
(3) クラスを作成するには複数の人が協力する必要があります。

ローカル型は、いかなる実行メカニズムにも影響を及ぼさない純粋な言語層のコンパイル プロセスです。実際、C# コンパイラーはコンパイル中に各部分のローカル型を完全なクラスにマージします。

public 部分クラス Program
{
static void Main(string[] args)
{
}
}

部分クラス Program
{
public void Test()
{ }
}

2.制限事項

(1) ローカル型はクラス、インターフェイス、および構造体にのみ適用され、委任と列挙はサポートされません。
(2) 同じ型の各部分には修飾子部分が必要です。
(3) ローカル型を使用する場合、型のすべての部分が同じ名前空間に存在する必要があります。
(4) 型のすべての部分を同時にコンパイルする必要があります。

3. 部分型の注意点

(1) キーワードpartialは、class、struct、interfaceと一緒に配置された場合にのみキーワードの意味を持ちます。したがって、partial を導入しても、既存のコード内にあるpartial という名前の変数には影響しません。
(2) ローカル型の各部分は通常、複数の異なる .cs ファイルに配置されますが、C# コンパイラーを使用すると、それらを同じファイルに配置できます。

4. ローカル タイプのアプリケーション機能

ローカル タイプの機能には「累積的」効果があります。

[Attribute1, Attribute2("Hello")]

部分クラス Class1{}

[Attribute3, Attribute2("Exit")]
部分クラス Class1{}



[Attribute1, Attribute2 ( "Hello"), Attribute3, Attribute2("Exit")]

class Class1 {}

注: Attribute2 属性はクラスで複数回使用できます。

5. ローカル型の修飾子

(1) 型のさまざまな部分のアクセス修飾子は、一貫性を維持する必要があります。
(2) 部分クラスが abstract 修飾子を使用する場合、クラス全体が抽象クラスとみなされます。
(3) 部分クラスが sealed 修飾子を使用している場合、クラス全体が sealed クラスとみなされます。
(4) クラスの各部分で矛盾する修飾子を使用することはできません。たとえば、ある部分で abstract を使用し、別の部分で sealed を使用することはできません。
(5) 部分クラスが static 修飾子を使用している場合、クラス全体が静的クラスとみなされます。

6. ローカル型の基本クラスとインターフェース

(1) 型の各部分で指定される基本クラスは一貫していなければなりません。セクションでは基本クラスを指定できませんが、指定する場合は同じである必要があります。
(2) ローカル型のインターフェイスには「累積的」効果があります。

部分クラス Class2: Iinterface1、Iinterface2 {}

部分クラス Class2: Iinterface3 {}
部分クラス Class2: Iinterface2 {}



クラス Class2: Iinterface1、Iinterface2、Iinterface3 {}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。