MissingInteropDataException クラス (.NET ネイティブ)
Windows 10 向け .NET for Windows アプリ、.NET ネイティブのみ
この例外は、手動マーシャリング メソッドが呼び出されたが、型のメタデータがスタティック分析でも、ランタイム ディレクティブ ファイルにも見つからない場合にスローされます。
名前空間: System.Runtime.CompilerServices
重要
MissingInteropDataException
クラスは .NET ネイティブ ツール チェーンによる内部使用のみを目的としています。 サード パーティのコードで使用することを目的としていません。また、アプリケーション コードで、例外を処理する必要はありません。 代わりに、ランタイム ディレクティブ ファイルにエントリを追加することにより、例外を除去します。 詳細については、「解説」を参照してください。
構文
public class MissingInteropDataException : Exception
MissingInteropDataException
クラスには次のメンバーがあります。
コンストラクター
コンストラクター | 説明 |
---|---|
public MissingInteropDataException(String resourceId, Type pertinentType) |
エラーとデータが欠落している型について説明するシステム提供のメッセージの ID を使用して、MissingInteropDataException クラスの新しいインスタンスを初期化します。 このコンストラクターは .NET ネイティブ ツール チェーンによる内部使用専用です。 |
プロパティ
Property | 説明 |
---|---|
public IDictionary Data { get; } |
例外に関する追加のユーザー定義情報を提供する、キーと値のペアのコレクションを取得します。 (System.Exception から継承。) |
public string HelpLink { get; set; } |
この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。 (System.Exception から継承。) |
public int HResult { get; protected set; } |
特定の例外に割り当てられた、コード化された数値である、HRESULT を取得または設定します。 (System.Exception から継承。) |
public Exception InnerException { get; } |
現在の例外を引き起こした例外を取得します。 (System.Exception から継承。) |
public string Message { get; } |
現在の例外を説明するメッセージを取得します。 (System.Exception から継承。) |
public Type MissingType { get; private set; } |
データが欠落している型を取得または設定します。 |
public string Source { get; set; } |
エラーの原因になったアプリまたはオブジェクトの名前を取得または設定します。 (System.Exception から継承。) |
public string StackTrace { get; } |
呼び出し履歴で直前のフレームの文字列形式を取得します。 (System.Exception から継承。) |
public MethodBase TargetSite { get; } |
現在の例外をスローしたメソッドを取得します。 (System.Exception から継承。) |
メソッド
メソッド | 説明 |
---|---|
public bool Equals(Object obj) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承。) |
protected void Finalize() |
オブジェクトが、ガベージ コレクションによって収集される前に、リソースの解放とその他のクリーンアップ操作の実行を試みることができるようにします。 (Object から継承。) |
public Exception GetBaseException() |
1 つ以上の後続の例外の根本原因である例外を返します。 (System.Exception から継承。) |
public int GetHashCode() |
MissingInteropDataException インスタンスのハッシュ コードを返します。 (Object から継承。) |
public void GetObjectData(SerializationInfo info, StreamingContext context) |
例外に関する情報を使用して、SerializationInfo オブジェクトを設定します。 (System.Exception から継承。) |
public Type GetType() |
現在のインスタンスのランタイム型を取得します。 (System.Exception から継承。) |
protected Object MemberwiseClone() |
現在のオブジェクトの簡易コピーを作成します。 (Object から継承。) |
public string ToString() |
現在の例外の文字列形式を返します。 (System.Exception から継承。) |
events
Event | 説明 |
---|---|
protected event EventHandler<SafeSerializationEventArgs> SerializeObjectState |
例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。 (System.Exception から継承。) |
Usage Details
MissingInteropDataException
例外は、型情報が使用できないために COM または Windows ランタイム コンポーネントへのメソッド呼び出しが正常に行えない場合にスローされます。
実行時にアプリで使用できるメタデータは、ランタイム ディレクティブ (XML 構成) ファイルの *.rd.xml により定義されます。 アプリからこの例外がスローされないようにするには、このファイルを変更して、実行時に存在する必要があるメタデータを定義する必要があります。 このエラーに対する最も一般的な対処法は、ランタイム ディレクティブ ファイルの適切なプログラム要素に MarshalObject
、MarshalDelegate
、または MarshalStructure
属性を追加することです。 このファイルの形式の詳細については、「Runtime Directives (rd.xml) Configuration File Reference」(ランタイム ディレクティブ (rd.xml) 構成ファイル リファレンス) を参照してください。
重要
この例外は、アプリケーションで必要なメタデータが、実行時には使用できないことを示しているため、この例外を try
/catch
ブロックで処理しないでください。 代わりに、例外の原因を診断し、その原因を解消するために、ランタイム ディレクティブ ファイルに適切なエントリを追加します。
MissingInteropDataException
クラスには、正常なメソッド呼び出しのためにどの型のメタデータが必要かを示す、1 つの一意メンバーである MissingType
プロパティが含まれています。 その他のメンバーはすべて基底クラス System.Exception から継承されます。