TypeBuilder.AddInterfaceImplementation メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > TypeBuilder.AddInterfaceImplementation メソッドの意味・解説 

TypeBuilder.AddInterfaceImplementation メソッド

この型で実装するインターフェイス追加します

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

<ComVisibleAttribute(True)> _
Public Sub AddInterfaceImplementation ( _
    interfaceType As Type _
)
Dim instance As TypeBuilder
Dim interfaceType As Type

instance.AddInterfaceImplementation(interfaceType)
[ComVisibleAttribute(true)] 
public void AddInterfaceImplementation (
    Type interfaceType
)
[ComVisibleAttribute(true)] 
public:
void AddInterfaceImplementation (
    Type^ interfaceType
)
/** @attribute ComVisibleAttribute(true) */ 
public void AddInterfaceImplementation (
    Type interfaceType
)
ComVisibleAttribute(true) 
public function AddInterfaceImplementation
 (
    interfaceType : Type
)

パラメータ

interfaceType

この型で実装するインターフェイス

例外例外
例外種類条件

ArgumentNullException

interfaceTypenull 参照 (Visual Basic では Nothing) です。

InvalidOperationException

この型は、CreateType を使用して既に作成されています。

使用例使用例

次のコード例は、AddInterfaceImplementation使用して動的に作成した型でインターフェイス実装する方法示してます。

' Mark the class as implementing 'IHello' interface.
helloWorldTypeBuilder.AddInterfaceImplementation(GetType(IHello))
Dim myMethodBuilder As MethodBuilder = helloWorldTypeBuilder.DefineMethod("SayHello",
 _
                     MethodAttributes.Public Or MethodAttributes.Virtual,
 Nothing, Nothing)
' Generate IL for 'SayHello' method.
Dim myMethodIL As ILGenerator = myMethodBuilder.GetILGenerator()
myMethodIL.EmitWriteLine(myGreetingField)
myMethodIL.Emit(OpCodes.Ret)
Dim sayHelloMethod As MethodInfo = GetType(IHello).GetMethod("SayHello")
helloWorldTypeBuilder.DefineMethodOverride(myMethodBuilder, sayHelloMethod)
 // Mark the class as implementing 'IHello' interface.
 helloWorldTypeBuilder.AddInterfaceImplementation(typeof(IHello));
 MethodBuilder myMethodBuilder =
    helloWorldTypeBuilder.DefineMethod("SayHello",
                         MethodAttributes.Public|MethodAttributes.Virtual,
                         null,
                         null);
 // Generate IL for 'SayHello' method.
 ILGenerator myMethodIL = myMethodBuilder.GetILGenerator();
 myMethodIL.EmitWriteLine(myGreetingField);
 myMethodIL.Emit(OpCodes.Ret);
MethodInfo sayHelloMethod = typeof(IHello).GetMethod("SayHello");
helloWorldTypeBuilder.DefineMethodOverride(myMethodBuilder,sayHelloMethod);
// Mark the class as implementing 'IHello' interface.
helloWorldTypeBuilder->AddInterfaceImplementation( IHello::typeid );
MethodBuilder^ myMethodBuilder =
   helloWorldTypeBuilder->DefineMethod( "SayHello",
      (MethodAttributes)(MethodAttributes::Public | MethodAttributes::Virtual),
      nullptr,
      nullptr );
// Generate IL for 'SayHello' method.
ILGenerator^ myMethodIL = myMethodBuilder->GetILGenerator();
myMethodIL->EmitWriteLine( myGreetingField );
myMethodIL->Emit( OpCodes::Ret );
MethodInfo^ sayHelloMethod = IHello::typeid->GetMethod( "SayHello" );
helloWorldTypeBuilder->DefineMethodOverride( myMethodBuilder, sayHelloMethod );
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
TypeBuilder クラス
TypeBuilder メンバ
System.Reflection.Emit 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

TypeBuilder.AddInterfaceImplementation メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



TypeBuilder.AddInterfaceImplementation メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS