В aspnet-api-versioning я обнаружил кодовый блок:
DefaultApiControllerFilter( IEnumerable<IApiControllerSpecification> pecifications )
{
Arg.NotNull( specifications, nameof( specifications ) );
this.specifications = specifications.ToArray();
}
Интересующий блок Arg.NotNull( value, "text" );
из пространства имен Microsoft
.
И в коде есть несколько похожих утверждений.Другой пример - Contract.Requires()
из System.Diagnostics.Contracts
Попытка поиска в документах Microsoft о принципах работы, но не нашла информацию.
Так что, возможно, может помочь выяснить, как это работает:как postsharp переписать код, предоставить условную проверку во время выполнения как Debug.Assert
или, может быть, просто выдает исключения (но это не упоминается в документации)?