К сожалению, нет никакого способа встроиться в C #
Вы можете задокументировать этот факт, но он не будет автоматически проверен.
Если вы используете resharper, то его можно настроить для правильной проверки, когда метод помечен атрибутом [NotNull].
В противном случае вы можете использовать библиотеку Microsoft Contracts и добавить в метод что-то похожее на следующее, но это довольно много лишних слов для такой простой аннотации.
Contract.Ensures(Contract.Result<string>() != null)
Spec # решил эту проблему, разрешив! после типа, чтобы пометить его как ненулевой тип, например
string! foo
но Spec # может использоваться только для таргетинга на .NET2 и был узурпирован библиотекой Code Contracts.