在Entity Framework的源代码(链接)中,我找到了这一行:
public virtual IRelationalTransaction Transaction
{ get; [param: NotNull] protected set; }
Run Code Online (Sandbox Code Playgroud)
这[param: NotNull]部分对我来说很奇怪.知道这是什么样的C#语法吗?我熟悉属性和参数,但不熟悉这种组合.
NotNull的定义是这样的:
[AttributeUsage(
AttributeTargets.Method | AttributeTargets.Parameter |
AttributeTargets.Property | AttributeTargets.Delegate |
AttributeTargets.Field)]
internal sealed class NotNullAttribute : Attribute
{
}
Run Code Online (Sandbox Code Playgroud)
我希望它被简单地用作[NotNull]但param在这里做什么?
c# ×1