Çünkü bazen bir arkadaşa ihtiyacım var.C++ ve VB.NET'te C++ arkadaşını nasıl taklit edebilirim?
aşağıdaki hile düşünebilirsiniz:
- oku sadece sarıcı - ReadOnlyCollection gibi. Herkes işaretçiyi değiştirilebilir nesnelere tutarken, herkes sadece sarıcıya erişebilir.
- Delege yaz - arkadaş nesnenin yapıcısını, parametrelerden biri olarak bir temsilci için bir başvuru verir, yapıcı, bir adresi, nesneyi değiştirmek için kullanılabilecek özel bir yöntemle doldurur.
- Yansıma - açıkçası kötü bir fikir. Tamlık için dahil.
- Birden çok derleme - arkadaşlarınızı bir araya getirin ve değiştirici yöntemlerinizi
internal
olarak ayarlayın. - Değiştirilebilir nesneyi açığa çıkarın, ancak değiştirici yöntemlerine yorum ekleyin "Bu bir altyapı yöntemidir - onu arama!"
- Nested classes.
- Add
System.ComponentModel.EditorBrowsable(System.ComponentModel. EditorBrowsableState.Never)
Eğer tek arkadaşı IntelliSense saklamaya erişmek istediğiniz üyesine özniteliği. - Kapalı arayüz uygulaması - yorumlara bakın.
Bu liste kapsamlı mı? Performansı düşürmek için bunları sıralayan var mı? Azaltıcı düzenlilik sırası? Hangi önerileri kullanacaksınız?
İç içe geçmiş türleri muhtemelen unutmuşsunuzdur. –
Ve elbette, örtülü arayüz uygulaması. Bu yöntemi gerçekten gizlemez, ancak ona erişmek için bir şeyler yapmanız gerekir (bu arayüze yayın). – Alex
Arkadaş taklit etmek için yuvalanmış türleri nasıl kullanırım? –