Czy jest jakaś praktyczna różnica między tymi dwoma metodami rozszerzenia?Czy istnieje jakaś praktyczna różnica między metodą rozszerzenia na <T> lub w Object?
class Extensions
{
public static void Foo<T>(this T obj) where T : class { ... }
public static void Foo(this object obj) { ... }
}
byłem wywiercenie w Extension Overflow i natknąłem się na pierwszej postaci, które nie zostały wykorzystane przed. Ciekawe, jaka jest różnica.
Również metoda będzie znać typ argumentu, nawet jeśli jest to 'null' przy użyciu wersji rodzajowy. Może mieć znaczenie, a może nie. –