[PartCreationPolicy (CreationPolicy.Shared)] का क्या अर्थ है?[PartCreationPolicy (CreationPolicy.Shared)]
6
A
उत्तर
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
}
मैं [PartCreationPolicy (CreationPolicy.NonShared) जोड़कर इसे प्राप्त कर सकता हूं लेकिन यह कुछ और मुद्दों को भी लाता है। ऑब्जेक्ट लाइफसाइक्ल जैसे। इन वस्तुओं को कब निपटान किया जाता है? – Kelly
आईआरजीयन मेम्बर लाइफटाइम पर विचार करें। साथ ही साथ ऐप करें। –