Ben üçlü ifade oluşturmak çalışılıyor ve aşağıdaki hatayı alıyorumÜçlü Anlatım
"LiveSubscription ve DisconnectedSubscription arasında hiçbir örtük dönüştürme olduğundan koşullu ifadenin türü tespit edilemeyen" deyimi ise
aynı mantık bir çalışır, ama bir üçlü ifadede neden çalışmaz anlamak istedim - İşte
yapmak ne çalışıyorum özü şudur:
public interface IClientSubscription
{
bool TryDisconnect();
}
public class LiveSubscription : IClientSubscription
{
public bool TryDisconnect()
{
return true;
}
}
public class DisconnectedSubscription : IClientSubscription
{
public bool TryDisconnect()
{
return true;
}
}
public class ConnectionManager
{
public readonly IClientSubscription Subscription;
public ConnectionManager(bool IsLive)
{
// This throws the exception
Subscription = (IsLive)
? new LiveSubscription()
: new DisconnectedSubscription();
// This works
if (IsLive)
{
Subscription = new LiveSubscription();
}
else
{
Subscription = new DisconnectedSubscription();
}
}
}
Her zaman bir if/else'e geçebilirdim ama önce neyin yanlış gittiğini anlamak istedim!
'Üçlü anlatım belirli bir türden' ile ne demek istiyorsun? Üçlü bir ifadeyi kullanmak için/else ifadesiyle eşdeğeri ne gibi anlamları vardır? Üçlü bir ifadenin basit sözdizimsel şeker olduğu izleniminin altındaydım - ama bazen daha mı? – William
@William: Lütfen tam cevabı, özellikle de alıntı yaptığınız cümlenin ardından paragrafı okuyun. Oldukça açık bir görüşe sahibim. –
Tam cevabı okudum ama ifadeleri kullanıp kullanmamaya benzemeyen anlamları anlamıyorum. Yani, NEDEN, belirli bir türden üçlü ifadelerdir? Onlar bir çeşit nesne midir? – William