17 Mart 2011, PERŞEMBE
Ben&; Olası 'null'" ile değer türü karşılaştırmak quot; hakkında ne yapmalıyım?
Özel NUnit, emin olmak için bu yöntemi yazarken.
private void AddMatchFailure<TExpected, TActual>(string failureName, TExpected expected, TActual actual)
{
_matchFailures.Add(
String.Format(MatchFailureFormat, failureName,
(expected == null) ? "null" : expected.ToString(),
(actual == null) ? "null" : actual.ToString()));
}
Resharper expected
actual
ValueType
nesneler olabileceği konusunda uyarıyor.
e.g. TExpected is DateTime expected == null;// but DateTime is a struct.
Boş bir ValueType karşılaştırırken kuralları nelerdir ve nasıl sınıf bir kısıtlama ekleyerek genel parametreleri sınırlama olmadan bu hesap yöntemi yazayım mı?
CEVAP
17 Mart 2011, PERŞEMBE
Kod değişiklik yok - sadece bir uyarı Yoksay. Eğer türü parametre null olmayan bir değer türü ise, karşılaştırma her zaman başarısız olur ve her zaman ToString()
yerine arayın. Aslında JİTted kaldı mı bilmiyorum, ama hiç şaşırmam... ve bu performans-kritik kodu neyse bir şey var gibi:) yok
Şahsen uyarı bırakırdım "" ama bu özel durumda bu muhtemelen görmezden bir yorum.
Aynı uyarı Nesneleri bu SERİ reimplementing birkaç kez denk geldim sanırım.
Bunu Paylaş:
C# ile jenerik hata " yardım;türü ...
Ne&; Belge odaklı " mu" vs Anahta...
Bir arabirim belirlemek için nasıl{} d...
Krom söylüyor "Kaynak komut olara...
! = sattığınız= "tanımsız" v...