mscorlib [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00] 1.0.5000.0 2.0.0.0 4.0.0.0 Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details. System.Security.CodeAccessPermission System.Security.Permissions.IBuiltInPermission System.Runtime.InteropServices.ComVisible(true)

Starting with the net_v40_long, identity permissions are not used.

In the .NET Framework versions 1.0 and 1.1, identity permissions cannot have an permission state value. In the .NET Framework version 2.0 and later, identity permissions can have any permission state value. This means that in version 2.0 and later versions, identity permissions have the same behavior as permissions that implement the interface. That is, a demand for an identity always succeeds, regardless of the identity of the assembly, if the assembly has been granted full trust.

Use to confirm that the calling code is in a particular strong-named code assembly. Full demands for succeed only if all the assemblies in the stack have the correct evidence to satisfy the demand. Link demands that use the attribute succeed only if the immediate caller has the correct evidence.

A strong name identity is based on a cryptographic public key called a binary large object (BLOB), which is optionally combined with the name and version of a specific assembly. The key defines a unique namespace and provides strong verification that the name is genuine, because the definition of the name must be in an assembly that is signed by the corresponding private key.

Note that the validity of the strong name key is not dependent on a trust relationship or on any certificate necessarily being issued for the key.

In the .NET Framework versions 1.0 and 1.1, demands on the identity permissions are effective even when the calling assembly is fully trusted. That is, even if the calling assembly has full trust, a demand for an identity permission fails if the assembly does not meet the demanded criteria. In the .NET Framework version 2.0 and later, demands for identity permissions are ineffective if the calling assembly has full trust. This ensures consistency for all permissions and eliminates the treatment of identity permissions as a special case.

For a complete description of strong names, see the reference page. For more information about strong-named assemblies, see Strong-Named Assemblies.

The class is used to define strong-name requirements for accessing the public members of a type. The attribute can be used to define strong-name requirements at the assembly level. In the .NET Framework version 2.0 and later, you can also use the attribute to specify that all nonpublic types in that assembly are visible to another assembly. For more information, see Friend Assemblies (C# and Visual Basic).

Defines the identity permission for strong names. This class cannot be inherited.

- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0

  Creates either a fully restricted (None) or Unrestricted permission.

  In the .NET Framework versions 1.0 and 1.1, identity permissions cannot have an permission state value. In the .NET Framework version 2.0 and later, identity permissions can have any permission state value. This means that in version 2.0 and later versions, identity permissions have the same behavior as permissions that implement the interface. That is, a demand for an identity always succeeds, regardless of the identity of the assembly, if the assembly has been granted full trust.

  In the .NET Framework versions 1.0 and 1.1, demands on the identity permissions are effective, even when the calling assembly is fully trusted. That is, although the calling assembly has full trust, a demand for an identity permission fails if the assembly does not meet the demanded criteria. In the .NET Framework version 2.0 and later, demands for identity permissions are ineffective if the calling assembly has full trust. This assures consistency for all permissions, eliminating the treatment of identity permissions as a special case.

  Use this constructor with a permission state value of to create an identity permission that matches no strong names. If you subsequently set the and properties, a specific strong name identity can be represented by the permission.

  Initializes a new instance of the class with the specified .

  One of the values.
- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0

  The and parameters can be null only when the public key is used to identify the assembly. An empty string ("") should not be used in place of null. If is an empty string, an is thrown.

  For more information on names and version numbers of assemblies, see Strong-Named Assemblies.

  Initializes a new instance of the class for the specified strong name identity.

  The public key defining the strong name identity namespace.
  The simple name part of the strong name identity. This corresponds to the name of the assembly.
  The version number of the identity.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Security.IPermission

  A copy of a permission represents the same access to resources as the original permission.

  Creates and returns an identical copy of the current permission.

  A copy of the current permission.

- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void ``

  This method is not used by application code.

  Reconstructs a permission with a specified state from an XML encoding.

  The XML encoding to use to reconstruct the permission.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Security.IPermission ``

  The intersection of two permissions is a permission that describes the set of operations they both describe in common. Only a demand that passes both original permissions will pass the intersection.

  The intersection of two identical strong name identity permissions is the same permission. The intersection of two different (not wildcard) expressions is an empty permission. The intersection of a wildcard expression and a matching strong name is the strong name. The intersection of two wildcard expressions that match is the longer, more specific of the two expressions.

  Creates and returns a permission that is the intersection of the current permission and the specified permission.

  A new permission that represents the intersection of the current permission and the specified permission, or null if the intersection is empty.

  A permission to intersect with the current permission. It must be of the same type as the current permission.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Boolean ``

  The current permission is a subset of the specified permission if the current permission specifies a set of operations that is wholly contained by the specified permission. For example, the other properties being equal, an identity with the property containing the wildcard expression MyCompany.MyDepartment.* is identified as a subset of an identity with the property MyCompany.MyDepartment.MyFile.

  Determines whether the current permission is a subset of the specified permission.

  true if the current permission is a subset of the specified permission; otherwise, false.

  A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission.
- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.String To be added.

  The value of the property can be an exact name or can be modified by a wildcard character in the final position; for example, both MyCompany.MyDepartment.MyFile and MyCompany.MyDepartment.* are valid names. If you attempt to set the property to an empty string (""), an is thrown.

  Gets or sets the simple name portion of the strong name identity.

- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Security.Permissions.StrongNamePublicKeyBlob To be added. To be added.

  Gets or sets the public key blob that defines the strong name identity namespace.

- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Int32 To be added. To be added. To be added.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Security.SecurityElement

  This method is not typically used by application code.

  Creates an XML encoding of the permission and its current state.

  An XML encoding of the permission, including any state information.

- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Security.IPermission ``

  The result of a call to is a permission that represents all the operations represented by both the current permission and the specified permission. Any demand that passes either permission passes their union.

  The union of a permission and null is the permission that is not null. The union of a permission and a subset of that permission is the permission that contains the other. Any other combination results in an exception being thrown.

  Creates a permission that is the union of the current permission and the specified permission.

  A new permission that represents the union of the current permission and the specified permission.

  A permission to combine with the current permission. It must be of the same type as the current permission.
- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Version To be added. To be added.

  Gets or sets the version number of the identity.