public interface IDoSomething
public class ClassA : IDoSomething
public class ClassB : IDoSomething
public class ClassC : IDoSomething
Birkaç sınıf tarafından uygulanan bir arabirime sahibim, ayrıca bazı verileri ayrıştırması gereken ve daha sonra bu nesnelerin yeni örneklerini oluşturması gereken bir kod bloğu da var. Şu anda hangi nesneyi kullanacağımı belirleyen büyük bir anahtar ifadem var ama daha iyi bir yol olmalı.Bir arabirimi birden çok kez uygulama için uygulama
Arabirimi de uygulayan, sınıfı kodlayan ve kodu yeniden kodlamak zorunda kalmayan yeni sınıflar oluşturabilmek istiyorum (anahtar deyiminde bir durum eklemek gibi).
Böyle bir şeyi uygulamak için en iyi uygulama nedir?
İşte benim şimdiki (berbat) switch deyimi gibi görünüyor:
switch (flag)
{
case 1:
return new ClassA();
case 2:
return new ClassB();
case 3:
return new ClassC();
default:
return null;
}
Bir sözlük kullanabilirsiniz .. 'dict = yeni Sözlük> {{1,() => yeni ClassA()}}' ve sonra yönteminiz (artı hata denetimi/eşleşmiyor) key control): 'dict [flag]();' –
Rob