StringFreezingAttribute Класс

Определение

Устарело. Зависает строковый литерал при создании собственных образов с помощью Ngen.exe (генератор собственных образов). Этот класс не наследуется.

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
Наследование
StringFreezingAttribute
Атрибуты

Примеры

В следующем примере кода показано, как применить StringFreezingAttribute к сборке.

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

Комментарии

Note

Класс StringFreezingAttribute устарел в .NET Framework версии 3.5 с пакетом обновления 1 (SP1) и более поздних версиях.

Замороженная строка — это строковый литеральный объект, совместимый с управляемой кучей и сериализованный в собственный образNgen.exe (генератор собственных образов). Атрибут StringFreezingAttribute позволяет оптимизировать код, предварительно распределив строковые литералы во время создания собственного образа, а не во время выполнения. После того как строковый литерал был заморожен, код может просто ссылаться на строку с помощью адреса в собственном изображении.

Необходимо StringFreezingAttribute применить его на уровне сборки.

Обратите внимание, что среда CLR не может выгрузить любой собственный образ, имеющий замороженную строку, так как любой объект в куче может ссылаться на замороженную строку. Поэтому следует использовать StringFreezingAttribute класс только в тех случаях, когда собственный образ, содержащий замороженную строку, используется в значительной степени.

Конструкторы

Имя Описание
StringFreezingAttribute()

Инициализирует новый экземпляр класса StringFreezingAttribute.

Свойства

Имя Описание
TypeId

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

(Унаследовано от Attribute)

Методы

Имя Описание
Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код для этого экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от Attribute)

Применяется к