Assembly: PostSharp (in PostSharp.dll) Version: 18.104.22.168 (22.214.171.124)
[SerializableAttribute] public struct DeclarationIdentifier : IEquatable<DeclarationIdentifier>
Thetype exposes the following members.
Gets a 29-bit of the name of the assembly containing the declaration represented by the current.
Determines whether the currentis null.
Gets a number that uniquely identifies the member inside its declaring type, for the given member kind.
Gets a null instance of thetype/
Gets a number that uniquely identifies the type inside its declaring assembly.
Indicates whether this instance and a specified object are equal.(Overrides ValueType.Equals(Object).)
Indicates whether the current object is equal to another object of the same type.
Gets thefor a given declaration.
Gets thethat represents the declaring type of the declaration represented by the current .
Returns the hash code for this instance.(Overrides ValueType.GetHashCode().)
Determines whether two instances of thetype are equal.
Determines whether two instances of thetype are different.
Maximum number of the same kind in the same type supported by theclass.
Maximum number of types per assembly supported by theclass.
The Dictionary<MethodInfo,MethodData> where MethodData is a custom class. However, relying on a dictionary has some performance costs. Thanks to the the concept, data can be stored in an array, because the MemberIndex is guaranteed to be unique in a given type for a given kind of member (for instance, MemberIndex is unique for all methods in the same type). Array lookups are much faster than dictionary lookups and do not rely on reflection, which gives a significant performance benefit.concept provides an efficient mechanism to correlate data that depend on the target declaration of the advice. Typically, such data can be computed at build time and serialized into the aspect, then consumed at run time. Without the concept, the data would be stored in a dictionary, for instance
Although the CIL specification allows for up to 2^24 types in the same assembly and 2^24 methods (or other members) in the same type, the AssemblyId property to be coded on 32 bits. The AssemblyId is computed by running the MD5 algorithm on the full assembly name. The probability of hash collision is approximately 10^-6 for an application of 100 assemblies and 10^-5 for an application of 1,000 assemblies. Collisions can be avoided by adding the AssemblyIdAttribute custom attribute to one of the assemblies causing a hash collision. Note that hash collisions are not automatically detected by PostSharp. However, you can build a hash collision detection program by looking at the AssemblyIdAttribute custom attribute on all assemblies of your application after PostSharp has been executed.implementation assumes that there will be no more than 2^16 types in the same assembly and 2^16 members of the same kind in the same type. The