IRC için bir sunucu bağlantısına sahip bir sınıf Server
var. Bilinen User
s listesini içerir ve bunları gerektiği gibi oluşturur.Diğer kullanıcılara gizlenmiş bir sınıf için görünür yöntemleri/özellikleri oluşturma
- Herkes
User
bir örneğini oluşturabilir:Ben
User
sınıfına dahil iki sorun var. Bunu yapabilmek için sadeceServer
sınıfını istiyorum. - Bir kullanıcı (
User
adlı öğeyi açıklar) kendi adını (veya birleştirilmiş kanallar gibi diğer bilgileri) değiştirirse,Server
sınıfı kendisini değiştirebilir. Ancak, diğer sınıflar da yapabilir! Diğer sınıflara bu bilgiye dokunmaktan vazgeçmek istiyorum (bunu sadece onlara okuyarak).
Bu iki sorunu nasıl çözebilirim? C++ 'da, friend
anahtar sözcüğünü kullanarak ve ctor ve setName
(ve benzeri) özel kullanarak çözülebilir.
Belirli bir yöntemin belirli bir sınıf tarafından erişilebilir olmasını sağlayan bir C# anahtar sözcüğü var mı? Bu benim problemimi çözecek.
Önerdiğiniz iki yöntemle gittim. Bir arabirim IUser ve bir ServerUser iç sınıfı oluşturdum. (Ayrıca, Sunucuları iki sınıfa bölerim, böylece diğerleri kendi özel IRC istemcilerini yazabilirler.) Cevabınız için teşekkürler! – strager