ben Kullanım durumunuz ne olurdu emin değilim - cevap yardımcı olabilecek fazla bilgi bu daha iyi, ama benim tahmininden, bunun yerine bir fabrika sınıf yapma düşünebilirsiniz . gibi bir şey:
class MyClass
{
public SomeEnum E { get; set; }
// This might be better as : public Object GetTheObject(SomeEnum E) and eliminating the above property
public Object GetTheObject()
{
switch(this.E)
{
case E.Something:
return new MySomethingObject(); // Or return an instance that already exists...?
default:
return new MyDefaultObject();
}
}
}
Bu aynı zamanda bir alıcı ve ayarlayıcı ile bir özellik olabilir ve almak ve belirli nesne türünü ayarlayabilirsiniz. Ancak, yaklaşımı yeniden düşünmeyi düşünmenizi öneririm - bu, derleme zamanında hiçbir tür güvenliğe sahip olmadığından ve tüketicinin POV'sinden çok kafa karıştırıcı olduğundan çok hataya eğilimli bir tasarıma benziyor.
Tam olarak aklımda olan şey değil ama sanırım bunu yapmak zorundayım –