コンポーネント クラスの特性
クラスがコンポーネントになると、クラスの特性に大きな意味が加わります。
コンポーネント名
コンポーネントのクラス名は慎重に決定します。 クラスには、単語の先頭を大文字にした、簡潔で意味が明確な名前 (BusinessRule など) を付けます。 これによって、コンポーネントを編成しやすくなります。また、コンポーネントの機能がクラス名で簡単にわかるようになります。
Access 修飾子
プライベートなアクセスで定義されたクラスは、アセンブリのユーザーからは見えません。 この状態が、アセンブリ内のヘルパー クラスに使用するアクセス レベルです。
Access 修飾子に public を設定すると、アセンブリのユーザーはコンポーネント クラスを使用できるようになります。 アセンブリのユーザーがコンポーネントのインスタンスを作成できるかどうかを制御するには、コンストラクターに適切なアクセス レベルを指定します。
基本クラス
IComponent インターフェイスを自分で実装する場合を除き、基本クラスは Component となるか、または Component から派生したクラスとなります。 この詳細については、.NET Framework の任意のクラスのリファレンス トピックで確認できます。 Visual Basic では、Inherits ステートメントで基本クラスを指定します。 C# では、基本クラスはコロンに続けてクラス宣言に記述します。 次に例を示します。
Imports System.ComponentModel
Public Class MyComponent
Inherits System.ComponentModel.Component
End Class
using System.ComponentModel
public class MyComponent : System.ComponentModel.Component
{}
Namespace ステートメント
コンポーネントはすべて "名前空間" に格納されています。 既定では、名前空間がプロジェクト名になります。 コンポーネント アセンブリのユーザーは Imports (Visual Basic) またはアクセスするコンポーネントを含む名前空間のusing (C#) ステートメントを追加します。
メモNamespaceさらに…End Namespace ブロック内のコンポーネントを囲むことで、構造の追加のレベルを追加できます。
一般に、コンポーネント アセンブリの名前空間は、内部構成を反映する構造にします。 アセンブリに大量のコンポーネントがある場合は、関連のあるコンポーネントをグループ化して、それぞれ別の名前空間に格納すると便利です。
参照
概念
Visual Basic .NET におけるコンポーネントのインスタンス化の変更点