1
我已經創建了三個接口:MEF中具有元數據訪問的多個接口?
interface A
{
B obj{ get; }
}
interface B
{
C obj { get; }
}
interface C { }
[Export(typeof(C))]
class class C1 : C
{
//.........
}
[Export[typeof(B)]
[ExportMetadata("Name", "ABC")
class class1 : B
{
[Import(typeof(C))]
public C Cvalues;
public C obj
{
get { return Cvalues; }
}
}
[Export(typeof(B))]
[ExportMetadata("Name", "XYZ")]
class class2 : B
{
[Import(typeof(C))]
public C Cvalues;
public C obj { get { return Cvalues; } }
}
現在,我想在接口接口B的元數據導出一個
[Export(typeof(A))
class AA : A
{
// how i get the B here
[Import(typeof(B)]
public B Bvalues;
public B objB { get { return Bvalues; } }
}
,如果我嘗試再創建接口A接口B的酒店在一個導入B它給我輸出,但ImportMany怎麼樣,因爲接口B返回ImportMany ...
請給我一些想法如何讓我所有的接口B出口在接口A.
不明白你的想法請詳細描述一下 –
我試圖實現你的邏輯,但不工作。關於邏輯,我可以在Lazy中調用單個組件,但是當擴展目錄Lazy中的多個組件不能使用組件時。它不會給出任何錯誤,但內部過程不會發生。如果你給一些適當的演示,那麼請給這裏。經過測試的演示更適合guding。謝謝 –
@ user166694如果你想導入多個組件,請在類型爲IEnumerable>' –