What does the keyword “where” in a class declaration do?

前端 未结 7 1155
天涯浪人
天涯浪人 2020-12-17 17:24

I\'m looking at the source code for the MvcContrib Grid and see the class declared as:

public class Grid : IGrid where T : class

7条回答
  •  不思量自难忘°
    2020-12-17 18:06

    It is a generic type constraint.

    In this case it means that the generic type (T) must be a reference type, that is class, interface, delegate, or array type.

    Other constraints are listed here.

    You can also constrain the generic type to inherit from a specific type (base class or interface)

提交回复
热议问题