chaper34動態呼叫有參與方法過載技術

2021-08-20 20:27:48 字數 1309 閱讀 5280

源**:

實體類:

/***

*實體類:被分析的物件 

* * 

*/using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace 反射技術呼叫指定類無參方法

set

}//方法

public void displayid()

public void displayname()

public void displayage()

//呼叫方法測試

public void test1()

public void test2(string str)

public void test3()

public void test3(int num)

}主程式:

/***

*使用反射技術進行動態呼叫

*缺點:執行速度慢

*優點:可以使得類物件之間的呼叫關係在"執行期"進行低耦合呼叫

*      可以隨著配置檔案的改變進行改變** 

* * 

*/using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.reflection;

namespace 反射技術呼叫指定類無參方法

///

/// 演示,呼叫帶參方法

///

public void test2()

///

/// 方法過載呼叫,沒有引數

///

public void test3()

///

/// 方法過載呼叫,有引數

///

public void test4()

;  //確定方法過載中有引數

methodinfo method = typeobj.getmethod(strmethodname, typearraywithpara);//typearraywithpara表示有引數

//呼叫有參方法,

object objarray = new object[1];

objarray[0] = 8888;

method.invoke(obj, objarray);

}static void main(string args)}}

10 呼叫門(有參)實驗

可以看到位址為 0x00401020 呼叫門描述符結構 7 6 5 4 3 2 1 0 位元組 76543210 76543210 7 65 4 3210 765 43210 76543210 76543210 76543210 76543210 位元 1 0 1100 000 佔位 offset ...

C 呼叫有有參有返的儲存過程

1 在sql server中建立如下的儲存過程 set ansi nulls on set quoted identifier on gocreate procedure dbo getnamebyid studentid varchar 8 studentname nvarchar 50 outp...

java學習筆記34 呼叫方法時的傳參

1 形參和實參 例如 a x public void test int a main int x 1 t.test x 引數列表中的a是方法test的形參 形式上的引數 呼叫方法時的x是方法test的實參 實際上的引數 注意 形參的名字和實參的名字都只是乙個變數的名字,是可以隨便寫的,我們並不關心這...