MethodBase.IsFinal Özellik

Tanım

Bu yöntemin finalolup olmadığını belirten bir değer alır.

public:
 property bool IsFinal { bool get(); };
public bool IsFinal { get; }
member this.IsFinal : bool
Public ReadOnly Property IsFinal As Boolean

Özellik Değeri

true bu yöntem ise final; değilse, false.

Uygulamalar

Örnekler

Aşağıdaki örnekte için IsFinalgörüntülenirfalse. Bu, MyMethod'un geçersiz kılınabilir olduğunu düşünmenize neden olabilir. MyMethod işaretlenmese virtual de kod yazdırılır false ve bu nedenle geçersiz kılınamaz.

using namespace System;
using namespace System::Reflection;

public ref class MyClass
{
public:
   void MyMethod(){}
};

int main()
{
   MethodBase^ m = MyClass::typeid->GetMethod( "MyMethod" );
   Console::WriteLine( "The IsFinal property value of MyMethod is {0}.", m->IsFinal );
   Console::WriteLine( "The IsVirtual property value of MyMethod is {0}.", m->IsVirtual );
}
using System;
using System.Reflection;

public class MyClass
{
    public void MyMethod()
    {
    }
    public static void Main()
    {
        MethodBase m = typeof(MyClass).GetMethod("MyMethod");
        Console.WriteLine("The IsFinal property value of MyMethod is {0}.", m.IsFinal);
        Console.WriteLine("The IsVirtual property value of MyMethod is {0}.", m.IsVirtual);
    }
}
Imports System.Reflection

Public Class MyClass1
    
    Public Sub MyMethod()
    End Sub
    
    Public Shared Sub Main()
        Dim m As MethodBase = GetType(MyClass1).GetMethod("MyMethod")
        Console.WriteLine("The IsFinal property value of MyMethod is {0}.", m.IsFinal)
        Console.WriteLine("The IsVirtual property value of MyMethod is {0}.", m.IsVirtual)
    End Sub
End Class

Açıklamalar

Sanal yöntem olarak işaretlenmişse final, türetilmiş sınıflarda geçersiz kılınamaz. Geçersiz kılınan sanal yöntem C#'da korumalı anahtar sözcük, Visual Basic'te NotOverridable anahtar sözcüğü veya C++/CLI'da korumalı anahtar sözcük kullanılarak işaretlenebilirfinal. Yöntemi, derleyici tarafından örtük olarak da işaretlenebilir final . Örneğin, bir yöntem kodunuzda sanal olmayan olarak tanımlanabilir, ancak bir arabirim yöntemi uygular. Ortak Dil Çalışma Zamanı, arabirim üyelerini uygulayan tüm yöntemlerin olarak virtualişaretlenmesini gerektirir; bu nedenle derleyici yöntemini virtual finalişaretler.

Bir yöntemin IsVirtual geçersiz kılınabilir olup olmadığını belirlemek için bu özelliği özelliğiyle birlikte kullanabilirsiniz. Bir yöntemin geçersiz kılınabilmesi için özelliğin IsVirtualtrue ve IsFinal özelliğinin olması falsegerekir. Bir yöntemin geçersiz kılınabilir olup olmadığını kesin olarak oluşturmak için aşağıdaki gibi bir kod kullanın:

if (MethodInfo.IsVirtual && !MethodInfo.IsFinal)
If MethodInfo.IsVirtual AndAlso Not MethodInfo.IsFinal Then

false veya IsVirtualIsFinal ise trueyöntemi geçersiz kılınamaz.

Şunlara uygulanır

Ayrıca bkz.