Wyobraź sobie, że masz zdefiniowaną klasę.C# References; Utrzymywanie członków w ukryciu
public class SomeClass
{
public Manager m { get; protected set; }
public SpecialData data { get; protected set; }
//More methods and member code here...
}
Potrzebuję mojej klasy menedżera, aby jakoś zmienić zestaw odniesienia dla członka SpecialData. Mógłbym to zrobić z podwójnym wskaźnikiem lub klasami znajomych w C++, ale ta opcja nie jest dostępna w C#, niestety. W jaki sposób mogę zabezpieczyć SpecialData przed zewnętrznymi użytkownikami, pozostawiając kontrolę klasy nad ustawieniami? Mogę to zrobić za pomocą wewnętrznego słowa kluczowego, ale to nie wydaje się niewiarygodnie bezpieczne ani czyste ...
Każda pomoc jest bardzo doceniana.
Czy możesz wyjaśnić, dlaczego uważasz, że "wewnętrzne" jest niebezpieczne lub nieczyste? Czy masz na myśli, że jest tak ogólnie, czy sugerujesz, że nie pasuje do twojego konkretnego projektu? Powiedziałbym, że jest to idealne rozwiązanie, choć prawdę mówiąc, nie jestem pewien, dlaczego chcesz to zrobić w pierwszej kolejności. – decPL