| [AttributeUsage(AttributeTargets.Method)] | 
Ensures that the managed and unmanaged signatures of the attributed method are identical. This attribute affects marshaling as well as type library importing and exporting.
            int DoSomething (long l);
          
Is normally converted to:
            HRESULT DoSomething ([in] long l, [out, retval] int * i);
          
When exported to a type library.
When the PreserveSigAttribute is applied to the method:
            [PreserveSig] int DoSomething (long l);
          
The method is exported to the type library as is:
            int DoSomething ([in] long l);
          
| ctor #1 | Default constructor. This constructor is called by derived class constructors to initialize state in this type. Initializes a new instance of the PreserveSigAttribute class. | 
| TypeId (inherited from System.Attribute) | Read-only See base class member description: System.Attribute.TypeId When implemented in a derived class, gets a unique identifier for this Attribute. | 
| Equals (inherited from System.Object) | See base class member description: System.Object.Equals Derived from System.Object, the primary base class for all objects. | 
| GetHashCode (inherited from System.Attribute) | See base class member description: System.Attribute.GetHashCode Returns the hash code for this instance. | 
| GetType (inherited from System.Object) | See base class member description: System.Object.GetType Derived from System.Object, the primary base class for all objects. | 
| IsDefaultAttribute (inherited from System.Attribute) | See base class member description: System.Attribute.IsDefaultAttribute When overridden in a derived class, returns an indication whether the value of this instance is the default value for the derived class. | 
| Match (inherited from System.Attribute) | See base class member description: System.Attribute.Match When overridden in a derived class, returns a value indicating whether this instance equals a specified object. | 
| ToString (inherited from System.Object) | See base class member description: System.Object.ToString Derived from System.Object, the primary base class for all objects. | 
| Finalize (inherited from System.Object) | See base class member description: System.Object.Finalize Derived from System.Object, the primary base class for all objects. | 
| MemberwiseClone (inherited from System.Object) | See base class member description: System.Object.MemberwiseClone Derived from System.Object, the primary base class for all objects. | 
Hierarchy:
| 
            public PreserveSigAttribute(); | 
| 
            public virtual object TypeId {get;}
           | 
| 
            ~PreserveSigAttribute(); | 
| 
            public override int GetHashCode(); | 
| 
            public Type GetType(); | 
| 
            public virtual bool IsDefaultAttribute(); | 
The implementation of this method in a derived class compares the value of this instance to a standard, default value obtained by some means, then returns a Boolean value that indicates whether the value of this instance is equal to the standard. The standard value is typically coded as a constant in the implementation, or stored programmatically in a field used by the implementation.
obj
| 
            protected object MemberwiseClone(); | 
| 
            public virtual string ToString(); |