F#允许在类型的成员上约束通用类型,类似于:
type ClassWithMemberConstraint<'T when 'T : (static member StaticProperty : unit)> =
class end
Run Code Online (Sandbox Code Playgroud)
这可能非常方便,尤其是因为CLR不允许使用静态成员定义接口。因为F#允许这样的约束,所以我猜这意味着CLR也允许通用成员约束,但是据我所知,这在C#中是不可能的。
有什么方法可以在C#中表达这种行为?