DefaultParameterValueAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Varsayılan parametreleri destekleyen bir dilden çağrıldığında parametrenin varsayılan değerini ayarlar. Bu sınıf devralınamaz.
public ref class DefaultParameterValueAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter)]
public sealed class DefaultParameterValueAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Parameter)>]
type DefaultParameterValueAttribute = class
inherit Attribute
Public NotInheritable Class DefaultParameterValueAttribute
Inherits Attribute
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, özniteliğinin DefaultParameterValueAttribute C# dilinde yazılmış bir yöntemin parametresine nasıl uygulanacağını gösterir. Kod parçacığı, yönteminin OptionalAttribute bağımsız değişken olmadan çağrılmasını sağlamak için özniteliğini de kullanır.
using System;
using System.Runtime.InteropServices;
public class Program
{
public static void MethodWithDefaultParam([Optional, DefaultParameterValue("DEFAULT_PARAM_VALUE")] string str)
{
Console.WriteLine($"The passed value is: {str}");
}
public static void Main()
{
MethodWithDefaultParam(); // The passed value is: DEFAULT_PARAM_VALUE
MethodWithDefaultParam("NEW_VALUE"); // The passed value is: NEW_VALUE
}
}
C# isteğe bağlı bağımsız değişkenleri ile ile OptionalAttributekullanma DefaultParameterValueAttribute arasında bazı davranış farklılıkları vardır. Aşağıdaki kod parçacığı bu farkları gösterir.
using System.Runtime.InteropServices;
public class Program
{
public static void MethodWithObjectDefaultAttr1([Optional, DefaultParameterValue(123)] object obj) {} // OK
public static void MethodWithObjectDefaultAttr2([Optional, DefaultParameterValue("abc")] object obj) {} // OK
public static void MethodWithObjectDefaultAttr3([Optional, DefaultParameterValue(null)] object? obj) {} // OK
public static void MethodWithObjectDefaultParam1(object obj = 123) {} // CS1763
public static void MethodWithObjectDefaultParam2(object obj = "abc") {} // CS1763
public static void MethodWithObjectDefaultParam3(object obj? = null) {} // OK
}
Açıklamalar
özniteliği, DefaultParameterValueAttribute varsayılan parametreleri desteklemeyen bir dilde varsayılan parametre değeri belirtmenize olanak tanır. Bu özniteliği kodunuz için uyguladıktan sonra, varsayılan parametreleri destekleyen diller belirtilen değeri varsayılan parametre olarak kullanabilir.
DefaultParameterValueAttribute özellikle COM birlikte çalışma arabiriminin yöntemleri için varsayılan parametreleri belirtmek için kullanışlıdır.
Oluşturucular
DefaultParameterValueAttribute(Object) |
Bir parametrenin DefaultParameterValueAttribute varsayılan değeriyle sınıfının yeni bir örneğini başlatır. |
Özellikler
TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
Value |
Parametrenin varsayılan değerini alır. |
Yöntemler
Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür. (Devralındığı yer: Attribute) |
GetHashCode() |
Bu örneğe ilişkin karma kodu döndürür. (Devralındığı yer: Attribute) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler. (Devralındığı yer: Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır. (Devralındığı yer: Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). (Devralındığı yer: Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |