Я хочу убедиться, что все типы элементов List<T>
T
.
Я могу иметь List<object>
содержащий объект, строку, int, Product, Supplier и т. Д.В моем случае, если List<T>
было определено как List<object>
, все элементы должны быть объектами.
То есть я хочу убедиться, что тип элементов - это точный тип передаваемого в универсальном типе, а не что-либо еще в цепочке наследования.Пример:
public void Foo<T>(List<T> list)
{
// if not all elements are of type T (not SubClass of T) throw exception
//...
}
Как лучше?