我有一个DataContract
序列化的类,也标记为共享 MEF [Export]
。
例子:
[DataContract(Name="MyClass")]
[Export(typeof(MyClass))]
[PartCreationPolicy(CreationPolicy.Shared)]
public class MyClass
{
[DataMember]
public string Field1{get;set;}
[DataMember]
public string Field2{get;set;}
public static MyClass Deserialize(XElement serialized)
{
DataContractSerializer ser = new DataContractSerializer(typeof(MyClass));
MyClass anotherMyClass = (MyClass)ser.ReadObject(serialized.CreateReader());
return anotherMyClass;
}
}
我将此标记为共享导出,因为我一次只需要一个实例,但是如果我重新分配[Import]
此类的 MEF ed 实例(通过Deserialize
在分配中调用),它仍然是单例吗?另外,其他 Imported 实例会反映这一点吗?