Chcę móc sprawdzić, czy wartość jest domyślna dla jej typu wartości. Idealnie, chciałbym powiedzieć:Domyślna kontrola wartości przy użyciu typów ogólnych
DoSomething<TValue>(TValue value) {
if (value == default(TValue)) {
...
}
}
Jednak kompilator narzeka, że nie może zrobić porównanie ==
na TValue i TValue. Jest to najlepszy obejście że wpadliśmy do tej pory:
DoSomething<TValue>(TValue value) {
if (value == null || value.Equals(default(TValue))) {
...
}
}
Czy istnieje bardziej elegancki/poprawny sposób, aby przejść na ten temat?
Jeśli rzucisz o ograniczeniu 'class' możesz równie dobrze sprawdzić' null' ... –
@Marc - Wiem, w tym momencie jest to kwestia preferencji. – ChaosPandion
Mam nadzieję, że uda mi się to zrobić dla każdego typu, w tym wartości i typów klas. – StriplingWarrior