Share via


IsFinal Property

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Gets a value indicating whether this method is final.

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public ReadOnly Property IsFinal As Boolean
public bool IsFinal { get; }
public:
property bool IsFinal {
    bool get ();
}
member IsFinal : bool with get
function get IsFinal () : boolean

Property Value

Type: System. . :: . .Boolean
true if this method is final; otherwise, false.

Remarks

To determine if a method is overridable, it is not sufficient to check that IsVirtual is true. For a method to be overridable, IsVirtual must be true and IsFinal must be false. For example, a method might be non-virtual, but it implements an interface method. The common language runtime requires that all methods that implement interface members must be marked as virtual; therefore, the compiler marks the method virtual final. So there are cases where a method is marked as virtual but is still not overridable.

To establish with certainty whether a method is overridable, use code such as this:

if (MethodInfo.IsVirtual && !MethodInfo.IsFinal)

If IsVirtual is false or IsFinal is true, then the method cannot be overridden.

.NET Framework Security

See Also

Reference

MethodBase Class

System.Reflection Namespace