2017-05-07 5 views
0

定義:myProc1内のmyC1delegateをどのように呼び出すことができますか?

delegate void myC1(string mystring); 

方法:

public static void myProc1 (myC1 method, string mystring); 

私はMYPROC1内部myC1delegateを呼び出すことができますどのように?

+0

次のいずれかの回答が必要です a。 (*メソッド)(ミストリング); b。 method.mystring; c。 (*メソッド):ミストリング。 d。 this - >(*メソッド)(mystring); e。 e。メソッド(mystring); – Dinesh

答えて

1

代理人はあなたが呼び出したいメソッドを割り当てる必要があり、それはMicrosoft Docs

A delegate is a type that represents references to methods with a particular parameter list and return type. When you instantiate a delegate, you can associate its instance with any method with a compatible signature and return type. You can invoke (or call) the method through the delegate instance.

からデリゲート署名

public class Program 
    { 
     public delegate void myC1(string myStr); 
     static void Main(string[] args) 
     { 
      myC1 meth = new Program().MethodToInvoke; 
      myProc1(meth,"test invoke");        
     }     
     public void MethodToInvoke(string str) 
     { 
      Console.WriteLine("test");      
     } 

     public static void myProc1(myC1 method, string mystring)  
     {     
      method(mystring); 
      //this will print test      
     }  
    } 

を尊重すべきであるC/C++で関数ポインタに相当します

関連する問題