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 Service Pack 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)

適用対象