CodeAccessSecurityAttributeとは? わかりやすく解説

CodeAccessSecurityAttribute クラス

コード アクセス セキュリティの基本属性クラスを指定します。

名前空間: System.Security.Permissions
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
<AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class
 Or AttributeTargets.Struct Or AttributeTargets.Constructor
 Or AttributeTargets.Method, AllowMultiple:=True, Inherited:=False)> _
Public MustInherit Class
 CodeAccessSecurityAttribute
    Inherits SecurityAttribute
Dim instance As CodeAccessSecurityAttribute
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method,
 AllowMultiple=true, Inherited=false)] 
public abstract class CodeAccessSecurityAttribute
 : SecurityAttribute
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[AttributeUsageAttribute(AttributeTargets::Assembly|AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Constructor|AttributeTargets::Method,
 AllowMultiple=true, Inherited=false)] 
public ref class CodeAccessSecurityAttribute
 abstract : public SecurityAttribute
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method,
 AllowMultiple=true, Inherited=false) */ 
public abstract class CodeAccessSecurityAttribute
 extends SecurityAttribute
SerializableAttribute 
ComVisibleAttribute(true) 
AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method,
 AllowMultiple=true, Inherited=false) 
public abstract class CodeAccessSecurityAttribute
 extends SecurityAttribute
解説解説
使用例使用例

CodeAccessSecurityAttribute クラスから派生したアクセス許可属性の例を次に示します。

Imports System
Imports System.IO
Imports System.Runtime.Remoting
Imports System.Security
Imports System.Security.Permissions
Imports System.Reflection
Imports MyPermission
Imports Microsoft.VisualBasic


' Use the command line option '/keyfile' or appropriate project settings
 to sign this assembly.
<Assembly: System.Security.AllowPartiallyTrustedCallersAttribute()> 
Namespace MyPermissionAttribute

    <AttributeUsage(AttributeTargets.All, AllowMultiple:=True, Inherited:=False)>
 Public NotInheritable Class
 NameIdPermissionAttribute
        Inherits CodeAccessSecurityAttribute
        Private m_Name As String
 = Nothing
        Private m_unrestricted As Boolean
 = False


        Public Sub New(ByVal
 action As SecurityAction)
            MyBase.New(action)
        End Sub 'New


        Public Property Name() As
 String
            Get
                Return m_name
            End Get
            Set(ByVal Value As
 String)
                m_name = Value
            End Set
        End Property

        Public Overrides Function
 CreatePermission() As IPermission
            If m_unrestricted Then
                Throw New ArgumentException("Unrestricted
 permissions not allowed in identity permissions.")
            Else
                If m_name Is Nothing
 Then
                    Return New NameIdPermission(PermissionState.None)
                End If
                Return New NameIdPermission(m_name)
            End If
        End Function 'CreatePermission
    End Class ' NameIdPermissionAttribute
End Namespace
using System;
using System.IO;
using System.Runtime.Remoting;
using System.Security;
using System.Security.Permissions;
using System.Reflection;
using MyPermission;
// Use the command line option '/keyfile' or appropriate project settings
 to sign this assembly.
[assembly: System.Security.AllowPartiallyTrustedCallersAttribute ()]

namespace MyPermissionAttribute
{
    [AttributeUsage (AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class
 | AttributeTargets.Struct | AttributeTargets.Assembly, AllowMultiple = true,
 Inherited = false)]
    [Serializable]
    sealed public class  NameIdPermissionAttribute
 : CodeAccessSecurityAttribute
    {
        private String m_Name = null;
        private bool m_unrestricted = false;

        public  NameIdPermissionAttribute (SecurityAction action):
 base( action )
        {
        }

        public String Name
        {
            get { return m_Name; }
            set { m_Name = value; }
        }

        public override IPermission CreatePermission ()
        {
            if (m_unrestricted)
            {
                throw new ArgumentException ("Unrestricted
 permissions not allowed in identity permissions.");
            }
            else
            {
                if (m_Name == null)
                    return new  NameIdPermission
 (PermissionState.None);

                return new  NameIdPermission
 (m_Name);
            }
        }
    }
}
継承階層継承階層
System.Object
   System.Attribute
     System.Security.Permissions.SecurityAttribute
      System.Security.Permissions.CodeAccessSecurityAttribute
         派生クラス
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CodeAccessSecurityAttribute メンバ
System.Security.Permissions 名前空間
CodeAccessPermission クラス
その他の技術情報
属性を使用したメタデータの拡張

CodeAccessSecurityAttribute コンストラクタ

SecurityAction を指定して、CodeAccessSecurityAttribute の新しいインスタンスを初期化します。

名前空間: System.Security.Permissions
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Protected Sub New ( _
    action As SecurityAction _
)
Dim action As SecurityAction

Dim instance As New CodeAccessSecurityAttribute(action)
protected CodeAccessSecurityAttribute (
    SecurityAction action
)
protected:
CodeAccessSecurityAttribute (
    SecurityAction action
)
protected CodeAccessSecurityAttribute (
    SecurityAction action
)
protected function CodeAccessSecurityAttribute
 (
    action : SecurityAction
)

パラメータ

action

SecurityAction 値の 1 つ。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CodeAccessSecurityAttribute クラス
CodeAccessSecurityAttribute メンバ
System.Security.Permissions 名前空間

CodeAccessSecurityAttribute プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ Action  セキュリティ アクションを取得または設定します。 ( SecurityAttribute から継承されます。)
パブリック プロパティ TypeId  派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。 ( Attribute から継承されます。)
パブリック プロパティ Unrestricted  属性によって保護されているリソースに対して完全な (無制限の) アクセス許可が宣言されているかどうかを示す値を取得または設定します。 ( SecurityAttribute から継承されます。)
参照参照

関連項目

CodeAccessSecurityAttribute クラス
System.Security.Permissions 名前空間
CodeAccessPermission クラス

その他の技術情報

属性を使用したメタデータの拡張

CodeAccessSecurityAttribute メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CreatePermission  派生クラス内でオーバーライドされるときに、後からバイナリ形式にシリアル化でき、SecurityAction と共にアセンブリのメタデータに永続的に格納できるアクセス許可オブジェクトを作成します。 ( SecurityAttribute から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 ( Attribute から継承されます。)
パブリック メソッド GetCustomAttribute  オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 ( Attribute から継承されます。)
パブリック メソッド GetCustomAttributes  オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 ( Attribute から継承されます。)
パブリック メソッド GetHashCode  このインスタンスのハッシュ コードを返します。 ( Attribute から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IsDefaultAttribute  派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 ( Attribute から継承されます。)
パブリック メソッド IsDefined  オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 ( Attribute から継承されます。)
パブリック メソッド Match  派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 ( Attribute から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

CodeAccessSecurityAttribute クラス
System.Security.Permissions 名前空間
CodeAccessPermission クラス

その他の技術情報

属性を使用したメタデータの拡張

CodeAccessSecurityAttribute メンバ

コード アクセス セキュリティの基本属性クラスを指定します。

CodeAccessSecurityAttribute データ型で公開されるメンバを以下の表に示します。


プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド CodeAccessSecurityAttribute SecurityAction を指定して、CodeAccessSecurityAttribute の新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ Action  セキュリティ アクションを取得または設定します。(SecurityAttribute から継承されます。)
パブリック プロパティ TypeId  派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。(Attribute から継承されます。)
パブリック プロパティ Unrestricted  属性によって保護されているリソースに対して完全な (無制限の) アクセス許可が宣言されているかどうかを示す値を取得または設定します。(SecurityAttribute から継承されます。)
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CreatePermission  派生クラス内でオーバーライドされるときに、後からバイナリ形式にシリアル化でき、SecurityAction と共にアセンブリのメタデータに永続的に格納できるアクセス許可オブジェクトを作成します。 (SecurityAttribute から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 ( Attribute から継承されます。)
パブリック メソッド GetCustomAttribute  オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 (Attribute から継承されます。)
パブリック メソッド GetCustomAttributes  オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 (Attribute から継承されます。)
パブリック メソッド GetHashCode  このインスタンスのハッシュ コードを返します。 (Attribute から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IsDefaultAttribute  派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 (Attribute から継承されます。)
パブリック メソッド IsDefined  オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 (Attribute から継承されます。)
パブリック メソッド Match  派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

CodeAccessSecurityAttribute クラス
System.Security.Permissions 名前空間
CodeAccessPermission クラス

その他の技術情報

属性を使用したメタデータの拡張



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「CodeAccessSecurityAttribute」の関連用語

CodeAccessSecurityAttributeのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CodeAccessSecurityAttributeのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS