2011-03-23 98 views
3

是否有可能,或者我應該在哪裏尋找擴展掛鉤以在MEF中定義條件導入?MEF有條件導入

可選導入的反轉的排序(AllowDefault=true)。我擁有的是一個物業進口,如果已經設定好了,我不想將當前價值吹走。

乾杯

回答

1

MEF不支持這樣的事情。你可以寫的第一個非空一個後忽略任何設置屬性:

private IContract _import; 
[Import] 
public IContract Import 
{ 
    get { return _import; } 
    set 
    { 
     if (_import == null) 
     { 
      _import = value; 
     } 
    } 
} 

我不知道該用例,這是什麼,所以我不知道這是否會幫助你。除重組期間的重組輸入外,MEF不會設置多次輸入。

+0

你的情況不正確:)謝謝 – 2011-03-24 03:48:21

+0

@Simon。哎呀,我現在修好了 – 2011-03-24 20:45:28

4

如果您在集合屬性中設置了導入,則可以對其執行任何操作。

public class Foo 
{ 
    [Import] 
    private object ImportData { set { if(this.Data == null) this.Data = value } } 

    public object Data { get; set; } 
}