我是遊蕩裏面,如果我在某些DLL有這樣的代碼:檢查特定的擴展方法使用該方法
public class DemoClass
{
public void TestAction(XMParams command)
{
var firstName = command.Parse<string>(Params.First, "First Name");
var lastName = command.Parse<string>(Params.Second, "Last Name");
var userData = new UserDataDto{
FirstName = firstName,
LastName = lastName
}
command.StoreValue(userData, "User Data");
}
}
它是更多鈔票來檢測這些線路,其中command.Parse是使用,並且提取這些數據: command.Parse < 類型>(索引,說明)
和
command.StoreValue(類型,DescriptiveName);
進入這個看起來像這樣一個對象的列表:
public class InputParamObj
{
public int Index {get;set;}
public string Type {get;set;}
public string Description {get;set;}
}
public class OutputObj
{
public string Type {get;set;}
public string Description {get;set;}
}
public class CommandData
{
public List<InputParamObj> InputParams {get;set;}
public OutputObj Output {get;set;}
}
注意,這段代碼將始終處於「TestAction」裏面的方法例如已知的方法。
聽起來好像不是反射任務。反射是一個元數據API,允許獲取關於類型,方法等的信息,而不是關於如何以及從何處調用它們。我想你想要的就是攔截,是另一個世界。請看這裏的這些技術的一個例子(http://msdn.microsoft.com/en-us/library/dn178466(v=pandp.30).aspx) – 2014-09-06 15:12:30