MethodBase.IsFinal Özellik

Tanım

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

C#
public bool IsFinal { get; }

Ö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.

C#
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);
    }
}

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:

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

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

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Ayrıca bkz.