olmadan iki nesneyi, kutulu türlerini derleme zamanında tanımak mümkün müdür? karşılaştırılabilir mi? Örneğin, bir object{long}
ve object{int}
varsa, kutulu değerlerin eşit olup olmadığını bilmenin bir yolu var mı?C kutlanan nesneleri karşılaştırın C#
Benim yöntem iki genel object
s alır ve iç türlerinin derleme zamanında ne olduğunu bilmenin bir yolu yoktur. Şu anda, karşılaştırma aşağıdaki kodu tarafından yapılır:
_keyProperties[x].GetValue(entity, null).Equals(keyValues[x])
, diyelim ki, _keyProperties[x].GetValue(entity, null)
bir object{long}
ve keyValues[x]
bir object{int}
olduğunu (ancak onlar da ters çevrilebilir).
Bunun için birim testlerim için sahte bir depo yapıyorum ve here açıklandığı gibi genel bir depo uygulaması ekleyerek başladım. Bu uygulama, Find
yönteminde iki genel sahte DB anahtarını karşılaştırır.
gördün mü [Bu cevap] (http: // stackoverflow .com/a/6669045/728795), özellikle ikinci kısmı? – Andrei
Tabii ki yaptım, ancak "bir null nesnesini bir değer türüne dönüştüremiyor" iletisiyle "System.InvalidCastException" alıyorum. – frapontillo
@frapontillo Sadece null çek eklemeniz gerekiyor mu? –