2012-09-23 16 views

उत्तर

4

जुलिएन के जवाब देने के लिए जोड़ने के लिए, मैं धारणात्मक लगता है कि आप a Singleton के रूप में यह सोच सकते हैं।

11

इसका मतलब है कि, [PartCreationPolicy(CreationPolicy.Shared)] से सजाए गए वर्ग के उदाहरण का अनुरोध करते समय, CompositionContainer हमेशा इस कक्षा का एक ही उदाहरण लौटाएगा और एक नया निर्माण नहीं करेगा।

[Export] 
[PartCreationPolicy(CreationPolicy.Shared)] 
class Foo 
{ 

} 

ऊपर वर्ग निम्न परिणाम दे देंगे:

private void Test() 
{ 
    var foo1 = Container.GetExportedValue<Foo>(); 
    var foo2 = Container.GetExportedValue<Foo>(); 
    Console.WriteLine(foo1 == foo2); // => True 
} 
+0

मैं [PartCreationPolicy (CreationPolicy.NonShared) जोड़कर इसे प्राप्त कर सकता हूं लेकिन यह कुछ और मुद्दों को भी लाता है। ऑब्जेक्ट लाइफसाइक्ल जैसे। इन वस्तुओं को कब निपटान किया जाता है? – Kelly

+0

आईआरजीयन मेम्बर लाइफटाइम पर विचार करें। साथ ही साथ ऐप करें। –