मैं गतिशील निजी Accessor विशेषता यह है कि nuget पैकेज Chaining Assertion for MSTest का हिस्सा है उपयोग शुरू किया और मैं इसके साथ नहीं बल्कि खुश हूँ। एक मजबूत टाइपिंग खो देता है लेकिन कम से कम वाक्यविन्यास अभी भी पठनीय है। यह गतिशील सुविधा के साथ काम करता है। अन्य परीक्षण ढांचे के लिए पैकेज भी हैं। परीक्षण कोड इस तरह दिखता है:
var target = CreateMyObjectUnderTest();
dynamic dynamicTarget = target.AsDynamic();
Assert.AreEqual("abc", dynamicTarget.MyPrivateProperty);
Assert.AreEqual("xyz", dynamicTarget.PrivateMethod(123));
मैं इसे इस तरह से पहले निजी eAccessors शुरू किए गए थे किया है। Thanx! – llasarov
मुझे यह दिलचस्प लगता है कि .NET Framework असेंबली में से कई रिफ्लेक्टर में InternalsVisibleTo विशेषताएँ दिखाते हैं। – bryanbcook
ऐसा लगता है कि नकली ढांचे के साथ कोई समस्या है। आप InternalsVisible सही ढंग से सेट करने के साथ भी आंतरिक कक्षाओं को शर्मिंदा नहीं कर सकते हैं। PrivateObject.Invoke वास्तव में एक विकल्प नहीं है, या तो। अफसोस की बात है, एक्सेसर्स के लिए समर्थन हटाने में, उन्होंने एक ऐसा तरीका हटा दिया जो एक आंतरिक वर्ग को कम करने के लिए काम करेगा। – Finster