準拠していない他の型が含まれる場合があります。example:ボックス化された値型。プロパティを持つクラスを作成します。非準拠としてフラグを設定します。CLS-compliant型指定された参照。オブジェクトへの参照および型への参照を含む特別なコンストラクトです。クラスによって表されます。属性を適用する必要があります。属性」を参照してください。準拠の問題を示しています。パラメーターが指定されたコンストラクターで定義します。つのコンパイラの警告が表示されます。非準拠型を準拠型に置き換えます。準拠していないカテゴリはいくつかあります。ポインター型やアンマネージ関数ポインター型などです。次の例では、整数へのポインターを使用して整数の配列を作成するので、コンパイラの警告が生成されます。準拠にする必要があります。大文字と小文字が違うだけで相違します。つの識別子が同じと見なされるのは、小文字マッピングが同じ場合です。非準拠としてフラグを設定します。準拠する必要があります。これによって、次のことが起こります。大文字と小文字、大文字と小文字の組み合わせ、修飾子文字、その他の文字、または文字数の番号を指定できます。列挙体」を参照してください。コードを使用できます。変換する必要があります。エンコードされた複数のコード単位で表すことができるからです。いう名前のプロパティを定義します。コードにフラグを設定します。一意である必要があります。オーバーロードによって解決される名前は除きます。この要件は、共通型システムの要件よりも厳格です。共通型システムでは、スコープ内のメンバーは種類が異なっていれば、たとえば、種類がメソッドのメンバーとフィールドのメンバーは、同じ名前を持つことができます。型メンバーの場合は次の要件もあります。members:フィールドと入れ子になった型は名前でのみ識別されます。alone.名前が同じメソッド、プロパティ、およびイベントは、戻り値の型以外で区別できるようにする必要があります。type.次の例は、メンバー名がスコープ内で一意でなければならない要件を示しています。いう名前のクラスを定義します。つのメソッドには一意の名前は付けられません。これは戻り値がメンバーのシグネチャの一部と見なされないからです。プロパティもこの要件に違反しています。プロパティの名前は、オーバーロードされたメソッドと同じにできないからです。参照するための機構を用意する必要があります。いう名前のクラスを明確に区別できます。表示され、コンパイルできません。クラスをインスタンス化することで、識別子と言語キーワードを区別できます。つの変換演算子が定義されます。operators:op_Implicit。データまたは精度の損失につながらない拡大変換に使用されます。values.op_Explicit。精度の損失につながる可能性がある縮小変換に使用されます。Char.ただし、すべての言語で、演算子のオーバーロードまたはカスタム演算子の定義がサポートされているわけではありません。これらの変換演算子を実装する場合は、他の方法で変換を実行する方法も用意する必要があります。メソッドを用意することをお勧めします。準拠する暗黙的な変換と明示的な変換を定義します。