LCIDConversionAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Azt jelzi, hogy egy metódus nem felügyelt aláírása területi azonosító (LCID) paramétert vár.
public ref class LCIDConversionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)]
public sealed class LCIDConversionAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class LCIDConversionAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)>]
type LCIDConversionAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type LCIDConversionAttribute = class
inherit Attribute
Public NotInheritable Class LCIDConversionAttribute
Inherits Attribute
- Öröklődés
- Attribútumok
Példák
Az alábbi példa különböző aláírásfordításokat mutat be a megadott LCIDConversionAttributeértékek alapján.
using namespace System;
using namespace System::Runtime::InteropServices;
using namespace System::Reflection;
#define LCID_INSTALLED 1
#define LCID_SUPPORTED 2
ref class LCIDAttrSample
{
public:
// Position of the LCID argument
[DllImport("KERNEL32.DLL",EntryPoint="IsValidLocale",SetLastError=true,CharSet=CharSet::Auto)]
[LCIDConversionAttribute(0)]
static bool IsValidLocale( int dwFlags ); // options
void CheckCurrentLCID()
{
MethodInfo^ mthIfo = this->GetType()->GetMethod( "IsValidLocale" );
Attribute^ attr = Attribute::GetCustomAttribute( mthIfo, LCIDConversionAttribute::typeid );
if ( attr != nullptr )
{
LCIDConversionAttribute^ lcidAttr = dynamic_cast<LCIDConversionAttribute^>(attr);
Console::WriteLine( "Position of the LCID argument in the unmanaged signature: {0}", lcidAttr->Value );
}
bool res = IsValidLocale( LCID_INSTALLED );
Console::WriteLine( "Result LCID_INSTALLED {0}", res );
res = IsValidLocale( LCID_SUPPORTED );
Console::WriteLine( "Result LCID_SUPPORTED {0}", res );
}
};
int main()
{
LCIDAttrSample^ smpl = gcnew LCIDAttrSample;
smpl->CheckCurrentLCID();
}
using System;
using System.Runtime.InteropServices;
using System.Reflection;
class LCIDAttrSample
{
private const int LCID_INSTALLED = 1;
private const int LCID_SUPPORTED = 2;
[DllImport("KERNEL32.DLL", EntryPoint="IsValidLocale", SetLastError = true, CharSet = CharSet.Auto)]
[LCIDConversionAttribute(0)] // Position of the LCID argument
public static extern bool IsValidLocale(
uint dwFlags // options
);
public void CheckCurrentLCID()
{
MethodInfo mthIfo = this.GetType().GetMethod("IsValidLocale");
Attribute attr = Attribute.GetCustomAttribute(mthIfo,typeof(LCIDConversionAttribute));
if( attr != null)
{
LCIDConversionAttribute lcidAttr = (LCIDConversionAttribute)attr;
Console.WriteLine("Position of the LCID argument in the unmanaged signature: " + lcidAttr.Value.ToString());
}
bool res = IsValidLocale(LCID_INSTALLED);
Console.WriteLine("Result LCID_INSTALLED " + res.ToString());
res = IsValidLocale(LCID_SUPPORTED);
Console.WriteLine("Result LCID_SUPPORTED " + res.ToString());
}
static void Main(string[] args)
{
LCIDAttrSample smpl = new LCIDAttrSample();
smpl.CheckCurrentLCID();
}
}
Imports System.Runtime.InteropServices
Imports System.Reflection
Class LCIDAttrSampler
Const LCID_INSTALLED As Integer = 1
Const LCID_SUPPORTED As Integer = 2
<DllImport("KERNEL32.DLL", EntryPoint:="IsValidLocale", _
SetLastError:=True, CharSet:=CharSet.Unicode, _
CallingConvention:=CallingConvention.StdCall), _
LCIDConversionAttribute(0)> _
Public Shared Function IsValidLocale(ByVal dwFlags As Integer) As Boolean
End Function
Public Sub CheckCurrentLCID()
Dim mthIfo As MethodInfo = Me.GetType().GetMethod("IsValidLocale")
Dim attr As Attribute = Attribute.GetCustomAttribute(mthIfo, GetType(LCIDConversionAttribute))
If Not(attr Is Nothing) Then
Dim lcidAttr As LCIDConversionAttribute = CType(attr, LCIDConversionAttribute)
Console.WriteLine("Position of the LCID argument in the unmanaged signature: " + lcidAttr.Value.ToString())
End If
Dim res As Boolean = IsValidLocale(LCID_INSTALLED)
Console.WriteLine("Result LCID_INSTALLED " + res.ToString())
res = IsValidLocale(LCID_SUPPORTED)
Console.WriteLine("Result LCID_SUPPORTED " + res.ToString())
End Sub
Public Shared Sub Main()
Dim smpl As LCIDAttrSampler = New LCIDAttrSampler()
smpl.CheckCurrentLCID()
End Sub
End Class
Megjegyzések
Ezt az attribútumot alkalmazhatja a metódusokra.
Ez az attribútum azt jelzi, hogy a marsallnak elvárnia kell, hogy az LCID átadása a kijelölt metódusargumentum után történjen. Ha a hívások felügyelt kódból nem felügyelt kódba kerülnek, a marshaler automatikusan biztosítja az LCID argumentumot.
Konstruktorok
| Name | Description |
|---|---|
| LCIDConversionAttribute(Int32) |
Inicializálja az |
Tulajdonságok
| Name | Description |
|---|---|
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
| Value |
Lekéri az LCID argumentum pozícióját a nem felügyelt aláírásban. |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal. (Öröklődés forrása Attribute) |
| GetHashCode() |
A példány kivonatkódját adja vissza. (Öröklődés forrása Attribute) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsDefaultAttribute() |
Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke. (Öröklődés forrása Attribute) |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Névkészletet képez le a küldési azonosítók megfelelő készletére. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1). (Öröklődés forrása Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz. (Öröklődés forrása Attribute) |