Поделиться через


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

Комментарии

Примечание

Класс 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)

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