StringFreezingAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przestarzałe. Blokuje literał ciągu podczas tworzenia obrazów natywnych przy użyciu Ngen.exe (generatora obrazów natywnych). Klasa ta nie może być dziedziczona.
public ref class StringFreezingAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
public sealed class StringFreezingAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
[System.Serializable]
public sealed class StringFreezingAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
type StringFreezingAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
[<System.Serializable>]
type StringFreezingAttribute = class
inherit Attribute
Public NotInheritable Class StringFreezingAttribute
Inherits Attribute
- Dziedziczenie
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak zastosować element StringFreezingAttribute do zestawu.
using System;
using System.Runtime.CompilerServices;
[assembly :StringFreezingAttribute()]
class Program
{
string frozenString = "This is a frozen string after Ngen is run.";
static void Main(string[] args)
{
Console.WriteLine("The StringFreezingAttribute attribute was applied.");
}
}
Imports System.Runtime.CompilerServices
<Assembly: StringFreezingAttribute()>
Module Program
Dim frozenString = "This is a frozen string after Ngen is run."
Sub Main(ByVal args() As String)
Console.WriteLine("The FixedAddressValueTypeAttribute attribute was applied.")
End Sub
End Module
Uwagi
Uwaga
Klasa StringFreezingAttribute została wycofana w programie .NET Framework w wersji 3.5 z dodatkiem Service Pack 1 (SP1) i nowszych wersjach.
Ciąg zamrożony jest obiektem literału ciągu zgodnym z zarządzaną stertą i został serializowany do obrazu natywnego przez Ngen.exe (generator obrazów natywnych). Atrybut StringFreezingAttribute umożliwia optymalizację kodu przez wstępne przydzielanie literałów ciągu podczas generowania obrazu natywnego, a nie w czasie wykonywania. Po zablokowaniu literału ciągu kod może po prostu odwoływać się do ciągu przy użyciu adresu na obrazie natywnym.
Element StringFreezingAttribute musi być stosowany na poziomie zestawu.
Należy pamiętać, że środowisko uruchomieniowe języka wspólnego (CLR) nie może zwolnić żadnego obrazu natywnego, który ma zablokowany ciąg, ponieważ każdy obiekt w stercie może odwoływać się do zamarzniętego ciągu. W związku z tym należy używać StringFreezingAttribute klasy tylko w przypadkach, gdy obraz macierzysty zawierający ciąg zamrożony jest współużytkowany w dużym stopniu.
Konstruktory
StringFreezingAttribute() |
Inicjuje nowe wystąpienie klasy StringFreezingAttribute. |
Właściwości
TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute. (Odziedziczone po Attribute) |
Metody
Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi. (Odziedziczone po Attribute) |
GetHashCode() |
Zwraca wartość skrótu dla tego wystąpienia. (Odziedziczone po Attribute) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
IsDefaultAttribute() |
W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej. (Odziedziczone po Attribute) |
Match(Object) |
W przypadku zastąpienia w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie obiektu, którego można użyć do pobrania informacji o typie interfejsu. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Odziedziczone po Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone po Attribute) |