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 к сборке.
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) |