O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

SignatureHelper

Synopsis

This class contains helper functions that allow you to build a signature for a method, such as AddArgument(). Use one of the static methods to get a SignatureHelper, which you can pass to ILGenerator.Emit().

public sealed class SignatureHelper {
// Public Static Methods
   public static method SignatureHelper GetFieldSigHelper(
        System.Reflection.Module mod);  
   public static method SignatureHelper GetLocalVarSigHelper(
        System.Reflection.Module mod);  
   public static method SignatureHelper GetMethodSigHelper(
        System.Reflection.Module mod, 
        System.Reflection.CallingConventions callingConvention, 
        Type returnType);  
   public static method SignatureHelper GetMethodSigHelper(
        System.Reflection.Module mod, 
        System.Runtime.InteropServices.CallingConvention unmanagedCallConv, 
        Type returnType);  
   public static method SignatureHelper GetMethodSigHelper(
        System.Reflection.Module mod, Type returnType, 
        Type[] parameterTypes);  
   public static method SignatureHelper GetPropertySigHelper(
        System.Reflection.Module mod, Type returnType, 
        Type[] parameterTypes);  
// Public Instance Methods
   public method void AddArgument(Type clsArgument);  
   public method void AddSentinel();  
   public override method bool Equals(object obj);              // overrides object
   public override method int GetHashCode();                     // overrides object
   public method byte[] GetSignature();  
   public override method string ToString();                     // overrides object
}

Passed To

ILGenerator.Emit(), ModuleBuilder.GetSignatureToken()

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required