StringFreezingAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Deprecato. Blocca una stringa letterale durante la creazione di immagini native mediante Ngen.exe (generatore di immagini native). La classe non può essere ereditata.
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
- Ereditarietà
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrato come applicare l'oggetto StringFreezingAttribute a un assembly.
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
Commenti
Nota
La StringFreezingAttribute classe è stata deprecata in .NET Framework versione 3.5 Service Pack 1 (SP1) e versioni successive.
Una stringa bloccata è un oggetto letterale stringa compatibile con l'heap gestito ed è stato serializzato in un'immagine nativa dal Ngen.exe (Generatore di immagini native). L'attributo StringFreezingAttribute consente di ottimizzare il codice pre-allocazione dei valori letterali stringa durante la generazione di immagini native anziché in fase di esecuzione. Dopo aver bloccato un valore letterale stringa, il codice può semplicemente fare riferimento alla stringa usando l'indirizzo nell'immagine nativa.
L'oggetto StringFreezingAttribute deve essere applicato a livello di assembly.
Si noti che Common Language Runtime (CLR) non può scaricare un'immagine nativa con una stringa bloccata perché qualsiasi oggetto nell'heap potrebbe fare riferimento alla stringa bloccata. Pertanto, è consigliabile usare la StringFreezingAttribute classe solo nei casi in cui l'immagine nativa contenente la stringa bloccata viene condivisa in modo pesante.
Costruttori
StringFreezingAttribute() |
Inizializza una nuova istanza della classe StringFreezingAttribute. |
Proprietà
TypeId |
Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute. (Ereditato da Attribute) |
Metodi
Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
GetHashCode() |
Restituisce il codice hash per l'istanza. (Ereditato da Attribute) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IsDefaultAttribute() |
In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute) |
Match(Object) |
Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia. (Ereditato da Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute) |