1
안녕 I 가져 오기 시나리오의 예를 몇 가지 문제가 내가 할 수있는 방법MEF 가져 오기 시나리오
[Export(typeof(IIOWriter))]
public class FileWriter : IIOWriter
{
public string FilePath { get; set; }
public void Write(object data)
{
if (string.IsNullOrEmpty(FilePath))
FilePath = @"c:\test.txt";
var fl = new StreamWriter(FilePath, true);
fl.Write((string)data);
fl.Flush();
fl.Close();
}
public string Name
{
get { return "FileWriter"; }
}
}
[Export(typeof(IIOWriter))]
public class ConsoleWrite : IIOWriter
{
public void Write(object data)
{
Console.WriteLine((string)data);
}
public string Name
{
get { return "ConsoleWrite"; }
}
}
을 해당 사용자에게 너무 그는 런타임에 그것을 변경할 수 있습니다. 그래서 예를 들어 ListBox에서 FileWriter를 선택하고 WriteInputData의 IIOWriter를 삽입하면 FileWriter가 끝납니다. 나쁜 영어로 죄송합니다.
+1하지만 메타 데이터를 사용하기 위해 명시 적으로 컨테이너를 호출 할 필요는 없습니다. 'IEnumerable>'만 가져올 수 있습니다. –