// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. namespace System.Diagnostics.CodeAnalysis; /// Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] internal sealed class NotNullWhenAttribute : Attribute { /// /// Initializes a new instance of the class. /// /// The return value condition. If the method returns this value, the associated parameter will not be null. public NotNullWhenAttribute(bool returnValue) { ReturnValue = returnValue; } /// /// Gets a value indicating whether the annotated parameter will be null depending on the return value. /// public bool ReturnValue { get; } }