DynamicObject alt sınıfım var ve DO'nun açık döküm yöntemi TryConvert gibi ilkel türler için örtük döküm uygulamak istiyorum; Yani, birden fazla örtülü operatör [tip] fonksiyonu yazmadan.DynamicObject örtük döküm
Kullanımı:
dynamic myDynamicObject = new MyDynamicObject("1");
int sum = 1 + myDynamicObject; // instead of int i = 1 + (int)myDynamicObject;
mümkün ve eğer öyleyse, nasıl mı?
"1 + myDynamicObject" senaryosunda örtülü yayınla, cast türünde sol taraf işlemini kullanır; bu durumda ints işlemi + (int, int). Ama evet, TryBinaryOperation sadece sol taraftaki işlemleri destekliyor. Bu nedenle, açık döküm için TryConvert olarak benzer türdeki gizli döküm yöntemi çok yararlı olacaktır. –
TryConvert aslında hem örtülü hem de açık döküm işlemini desteklemektedir. Örneğin, bu iyi çalışır: "int sum = myDynamicObject;" TryConvert'ı geçersiz kılarsanız. Ama ikili bir işlem yaptığınızda (ve sanırım bir de sanırım), TryConvert yöntemi çağrılmaz. [email protected] adresine yazmanızı ve kullanım durumunuzu burada açıklamanızı öneririm. Bir hata olabilir ya da arkasındaki bazı tasarımlar mantıklı olabilir, bu da ekibin benden daha iyi açıklayabileceğidir. –