我正在執行Apache Thrift,所有thrift生成的服務類都包含一個名爲Iface的嵌套接口。使用反射來查找包含接口名稱的程序集中的所有類
我有一些額外的代碼,它採用節儉生成的內容並基於命名約定構建頁面對象模式。
我需要做的是,使用反射枚舉生成的程序集中所有具有名爲Iface的嵌套接口的類。
所有這些代碼以前都是通過protobuf.net和Google協議緩衝區實現的,我們正在開發更加一致的多語言支持。
隨着protobuf的實現,我們用這條線找到正確的服務:
_inputDll.GetTypes().Where(x => typeof(IService).IsAssignableFrom(x) && x.Name != "Stub")
這種結構將不再有效,因爲沒有一個確定節儉內接口。
這裏是產生的節儉的一個例子,我試圖尋找代碼:
public partial class ServiceA {
public interface Iface {
Thrift.ActionResult SetupPreferences(Thrift.BillingPreferencesInfo info);
}
// Thrift implementations
}
public partial class ServiceB {
public interface Iface {
Thrift.ActionResult SetupAddress(Thrift.AddressInfo info);
}
// Thrift implementations
}
具體這個實現我沒有嘗試過任何東西,因爲我不知道如何着手,因爲這是我沒有訪問得到的類型,多種不同的接口,我要添加這個問題的更多細節。 – Phaeze
通過「嵌套接口」,你真的是指在一個類的範圍內的接口聲明,或者你使用單詞「嵌套」而不是「實現」?你最好提供一個樣本班。 –
不,我真的是指在一個類中聲明的接口。它是我遇到的節儉的一個缺點。 – Phaeze