この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

MissingMethodException クラス

 

公開日: 2016年10月

存在しないメソッドに動的にアクセスしようとするとスローされる例外。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

System.Object
  System.Exception
    System.SystemException
      System.MemberAccessException
        System.MissingMemberException
          System.MissingMethodException

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class MissingMethodException : MissingMemberException, 
	ISerializable

名前説明
System_CAPS_pubmethodMissingMethodException()

MissingMethodException クラスの新しいインスタンスを初期化します。

System_CAPS_protmethodMissingMethodException(SerializationInfo, StreamingContext)

シリアル化したデータを使用して、MissingMethodException クラスの新しいインスタンスを初期化します。

System_CAPS_pubmethodMissingMethodException(String)

指定したエラー メッセージを使用して、MissingMethodException クラスの新しいインスタンスを初期化します。

System_CAPS_pubmethodMissingMethodException(String, Exception)

指定したエラー メッセージおよびこの例外の原因となった内部例外への参照を使用して、MissingMethodException クラスの新しいインスタンスを初期化します。

System_CAPS_pubmethodMissingMethodException(String, String)

新しいインスタンスを初期化、 MissingMethodException 指定されたクラス名とメソッド名を持つクラス。

名前説明
System_CAPS_pubpropertyData

例外に関する追加のユーザー定義情報を提供する、キー/値ペアのコレクションを取得します。(Exception から継承されます。)

System_CAPS_pubpropertyHelpLink

この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。(Exception から継承されます。)

System_CAPS_pubpropertyHResult

特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。(Exception から継承されます。)

System_CAPS_pubpropertyInnerException

現在の例外の原因となる Exception インスタンスを取得します。(Exception から継承されます。)

System_CAPS_pubpropertyMessage

クラス名、メソッド名では、不足しているメソッドのシグネチャが表示されたテキスト文字列を取得します。 このプロパティは読み取り専用です。(MissingMemberException.Message をオーバーライドします。)

System_CAPS_pubpropertySource

エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。(Exception から継承されます。)

System_CAPS_pubpropertyStackTrace

呼び出し履歴で直前のフレームの文字列形式を取得します。(Exception から継承されます。)

System_CAPS_pubpropertyTargetSite

現在の例外がスローされたメソッドを取得します。(Exception から継承されます。)

名前説明
System_CAPS_pubmethodEquals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。(Object から継承されます。)

System_CAPS_protmethodFinalize()

オブジェクトが、ガベージ コレクションによって収集される前に、リソースの解放とその他のクリーンアップ操作の実行を試みることができるようにします。(Object から継承されます。)

System_CAPS_pubmethodGetBaseException()

派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。(Exception から継承されます。)

System_CAPS_pubmethodGetHashCode()

既定のハッシュ関数として機能します。(Object から継承されます。)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

セット、 SerializationInfo クラス名、メンバー名、例外の追加情報、存在しないメンバーのシグネチャを持つオブジェクト。(MissingMemberException から継承されます。)

System_CAPS_pubmethodGetType()

現在のインスタンスのランタイム型を取得します。(Exception から継承されます。)

System_CAPS_protmethodMemberwiseClone()

現在の Object の簡易コピーを作成します。(Object から継承されます。)

System_CAPS_pubmethodToString()

現在の例外の文字列形式を作成して返します。(Exception から継承されます。)

名前説明
System_CAPS_protfieldClassName

存在しないメンバーのクラス名が保持されます。(MissingMemberException から継承されます。)

System_CAPS_protfieldMemberName

存在しないメンバーの名前を保持します。(MissingMemberException から継承されます。)

System_CAPS_protfieldSignature

存在しないメンバーのシグネチャを保持します。(MissingMemberException から継承されます。)

名前説明
System_CAPS_proteventSerializeObjectState

例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。(Exception から継承されます。)

通常コードが存在しないクラスのメソッドのアクセスを試みた場合、コンパイル エラーが生成されます。 MissingMethodException 厳密な名前で参照されないアセンブリの名前変更または削除されたメソッドを動的にアクセスする試みが行われる場所のケースに対応しています。 MissingMethodException 依存アセンブリ内のコードが変更されたアセンブリで不足しているメソッドにアクセスしようとしたときにスローされます。

MissingMethodException 0x80131513 の値を持つ HRESULT COR_E_MISSINGMETHOD を使用します。

インスタンスの初期プロパティ値の一覧については MissingMethodException, を参照してください、 MissingMethodException コンス トラクターです。

System_CAPS_noteメモ

この例外が記載されていない、 .NET for Windows Store apps または、いくつかのメンバーによってスローされますが、します。 その場合は例外をキャッチして、書き込み、 catch の声明 MissingMemberException 代わりにします。

このリフレクションを使用して、存在しないメソッドを呼び出してしようとする場合の動作の例に示すおよびフィールドが存在しないにアクセスします。 キャッチすることにより、アプリケーションの復旧、 MissingMethodException, 、MissingFieldException, 、および MissingMemberExceptionです。

using System;
using System.Reflection;

public class App
{
    public static void Main()
    {

        try
        {
            // Attempt to call a static DoSomething method defined in the App class.
            // However, because the App class does not define this method,
            // a MissingMethodException is thrown.
            typeof(App).InvokeMember("DoSomething", BindingFlags.Static |
                BindingFlags.InvokeMethod, null, null, null);
        }
        catch (MissingMethodException e)
        {
            // Show the user that the DoSomething method cannot be called.
            Console.WriteLine("Unable to call the DoSomething method: {0}", e.Message);
        }

        try
        {
            // Attempt to access a static AField field defined in the App class.
            // However, because the App class does not define this field,
            // a MissingFieldException is thrown.
            typeof(App).InvokeMember("AField", BindingFlags.Static | BindingFlags.SetField,
                null, null, new Object[] { 5 });
        }
        catch (MissingFieldException e)
        {
         // Show the user that the AField field cannot be accessed.
         Console.WriteLine("Unable to access the AField field: {0}", e.Message);
        }

        try
        {
            // Attempt to access a static AnotherField field defined in the App class.
            // However, because the App class does not define this field,
            // a MissingFieldException is thrown.
            typeof(App).InvokeMember("AnotherField", BindingFlags.Static |
                BindingFlags.GetField, null, null, null);
        }
        catch (MissingMemberException e)
        {
         // Notice that this code is catching MissingMemberException which is the
         // base class of MissingMethodException and MissingFieldException.
         // Show the user that the AnotherField field cannot be accessed.
         Console.WriteLine("Unable to access the AnotherField field: {0}", e.Message);
        }
    }
}
// This code example produces the following output:
//
// Unable to call the DoSomething method: Method 'App.DoSomething' not found.
// Unable to access the AField field: Field 'App.AField' not found.
// Unable to access the AnotherField field: Field 'App.AnotherField' not found.

ユニバーサル Windows プラットフォーム
10 以降で使用可能
.NET Framework
1.1 以降で使用可能
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能

この型のパブリック static (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: