C#の部分キーワードの詳細説明

Dec 13, 2016 am 11:48 AM

新しい Windows フォームを作成すると、バックグラウンド コードによって次のコードが自動的に追加されます:

1 public Partial class Form1 : Form
2 {
3 public Form1()
4 {
5 InitializeComponent();
6 }
7}

クラス Form1 を部分的に変更する必要があるのはなぜですか?部分は主にどこで使用されますか?

新しく作成された Winnows Form クラスが部分クラスとして定義されているのはなぜですか。 Form1.Designer.cs ファイルを開くと、元の Form1 カテゴリの別の部分がこのファイル内でデザインされていることがわかります。この部分クラスは、使用するコントロール、イベント デリゲート、および Dispose メソッドを定義します。ここのコードは自動生成されるため、部分クラスとして設計されています。

Partialとは部分的な型という意味です。クラス、構造、またはインターフェイスをいくつかの部分に分割し、それらを複数の異なる .cs ファイルに実装できます。 C# コンパイラは、コンパイル中に各部分のローカル型を完全なクラスにマージします。

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

ローカル型の制限
(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 属性は、1 つのクラスで複数回使用できます。

5. ローカル型の修飾子

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

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

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

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


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


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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語でさまざまなシンボルを使用する方法 C言語でさまざまなシンボルを使用する方法 Apr 03, 2025 pm 04:48 PM

c言語のシンボルの使用方法は、算術、割り当て、条件、ロジック、ビット演算子などをカバーします。算術演算子は基本的な数学的操作に使用されます。割り当てと追加、下位、乗算、除算の割り当てには、条件操作に使用されます。ポインター、ファイル終了マーカー、および非数値値。

C文字列におけるcharの役割は何ですか C文字列におけるcharの役割は何ですか Apr 03, 2025 pm 03:15 PM

Cでは、文字列でCharタイプが使用されます。1。単一の文字を保存します。 2。配列を使用して文字列を表し、ヌルターミネーターで終了します。 3。文字列操作関数を介して動作します。 4.キーボードから文字列を読み取りまたは出力します。

C言語で特殊文字を処理する方法 C言語で特殊文字を処理する方法 Apr 03, 2025 pm 03:18 PM

C言語では、以下などのエスケープシーケンスを通じて特殊文字が処理されます。\ nはラインブレークを表します。 \ tはタブ文字を意味します。 ESACEシーケンスまたは文字定数を使用して、Char C = '\ n'などの特殊文字を表します。バックスラッシュは2回逃げる必要があることに注意してください。さまざまなプラットフォームとコンパイラが異なるエスケープシーケンスを持っている場合があります。ドキュメントを参照してください。

マルチスレッドと非同期C#の違い マルチスレッドと非同期C#の違い Apr 03, 2025 pm 02:57 PM

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

C言語でchar配列の使用方法 C言語でchar配列の使用方法 Apr 03, 2025 pm 03:24 PM

Char Arrayは文字シーケンスをC言語で保存し、char array_name [size]として宣言されます。アクセス要素はサブスクリプト演算子に渡され、要素は文字列のエンドポイントを表すnullターミネーター「\ 0」で終了します。 C言語は、strlen()、strcpy()、strcat()、strcmp()など、さまざまな文字列操作関数を提供します。

C言語のcharとwchar_tの違い C言語のcharとwchar_tの違い Apr 03, 2025 pm 03:09 PM

C言語では、charとwchar_tの主な違いは文字エンコードです。CharはASCIIを使用するか、ASCIIを拡張し、WCHAR_TはUnicodeを使用します。 Charは1〜2バイトを占め、WCHAR_Tは2〜4バイトを占有します。 charは英語のテキストに適しており、wchar_tは多言語テキストに適しています。 CHARは広くサポートされており、WCHAR_TはコンパイラとオペレーティングシステムがUnicodeをサポートするかどうかに依存します。 CHARの文字範囲は限られており、WCHAR_Tの文字範囲が大きく、特別な機能が算術演算に使用されます。

C言語でCharを変換する方法 C言語でCharを変換する方法 Apr 03, 2025 pm 03:21 PM

C言語では、charタイプの変換は、キャスト:キャスト文字を使用することにより、別のタイプに直接変換できます。自動タイプ変換:あるタイプのデータが別のタイプの値に対応できる場合、コンパイラは自動的に変換します。

C言語合計の機能は何ですか? C言語合計の機能は何ですか? Apr 03, 2025 pm 02:21 PM

C言語に組み込みの合計機能はないため、自分で書く必要があります。合計は、配列を通過して要素を蓄積することで達成できます。ループバージョン:合計は、ループとアレイの長さを使用して計算されます。ポインターバージョン:ポインターを使用してアレイ要素を指し示し、効率的な合計が自己概要ポインターを通じて達成されます。アレイバージョンを動的に割り当てます:[アレイ]を動的に割り当ててメモリを自分で管理し、メモリの漏れを防ぐために割り当てられたメモリが解放されます。

See all articles