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;
}
}
一度に1つのインスタンスのみが必要なため、これを共有エクスポートとしてマークしましたが、[Import]
このクラスのMEF edインスタンスを(割り当てで呼び出すことによってDeserialize
)再割り当てした場合でも、シングルトンになりますか?また、他のインポートされたインスタンスはこれを反映しますか?