是否有任何可能性來實現一個方法,該方法將方法名稱和方法調用的參數集作爲參數來執行該方法並返回從方法執行中獲得的返回值?使用任何簽名執行方法的方法
該方法應該用於調用具有任何數量和類型參數的方法以及任何返回類型。
我知道這可以使用反射,但我有興趣,如果存在一個不同的方法,這將有一個比使用反射的性能更小的影響。
後來編輯: 我需要實現這樣的方法,因爲我有不同的方法簽名許多不同的方法的類,但一夥的大部分是相同的格式:
{
//code block 1
}
using (SomeObject obj = InitializeObject(){
...
//some operations
...
}
{
//code block 2
}
分別是密碼塊1和密碼塊2是相同的,只有使用塊的部分是不同的。 我想只使用一種方法來包含常見的代碼塊,並針對不同方法的不同方法調用不同的方法。 我嘗試了使用反射,但它以可見的方式減慢了應用程序,所以我不會使用它。
反思*爲*做的事情時,你只知道這個方法的名稱...你嘗試這樣做,發現它是太慢的方式? –
@Jon Skeet - 是的,我嘗試了使用反射,但它顯着減慢了我的應用程序。 –
您應該提供一些關於應用性質的更多數據,具體取決於您可以使用哪些數據,例如,泛型,表達式等,或充分設計系統。鑑於你的問題太籠統了,唯一的可能性就是JonSkeet所說的反思 – NSGaga