Show / Hide Table of Contents

# Class SignatureAttribute

The main way to use SignatureHelper. Apply this attribute to any field/property that should make use of a signature. See the field documentation for more information.

##### Inheritance

System.Object
System.Attribute
SignatureAttribute

##### Inherited Members

System.Attribute.Equals(System.Object)
System.Attribute.GetCustomAttribute(System.Reflection.Assembly, System.Type)
System.Attribute.GetCustomAttribute(System.Reflection.Assembly, System.Type, System.Boolean)
System.Attribute.GetCustomAttribute(System.Reflection.MemberInfo, System.Type)
System.Attribute.GetCustomAttribute(System.Reflection.MemberInfo, System.Type, System.Boolean)
System.Attribute.GetCustomAttribute(System.Reflection.Module, System.Type)
System.Attribute.GetCustomAttribute(System.Reflection.Module, System.Type, System.Boolean)
System.Attribute.GetCustomAttribute(System.Reflection.ParameterInfo, System.Type)
System.Attribute.GetCustomAttribute(System.Reflection.ParameterInfo, System.Type, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.Assembly)
System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type)
System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo)
System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Type)
System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Type, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.Module)
System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Type)
System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Type, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo)
System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Type)
System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Type, System.Boolean)
System.Attribute.GetHashCode()
System.Attribute.IsDefaultAttribute()
System.Attribute.IsDefined(System.Reflection.Assembly, System.Type)
System.Attribute.IsDefined(System.Reflection.Assembly, System.Type, System.Boolean)
System.Attribute.IsDefined(System.Reflection.MemberInfo, System.Type)
System.Attribute.IsDefined(System.Reflection.MemberInfo, System.Type, System.Boolean)
System.Attribute.IsDefined(System.Reflection.Module, System.Type)
System.Attribute.IsDefined(System.Reflection.Module, System.Type, System.Boolean)
System.Attribute.IsDefined(System.Reflection.ParameterInfo, System.Type)
System.Attribute.IsDefined(System.Reflection.ParameterInfo, System.Type, System.Boolean)
System.Attribute.Match(System.Object)
System.Attribute.TypeId
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()

###### Namespace: Dalamud.Utility.Signatures

###### Assembly: Dalamud.dll

##### Syntax

    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    [MeansImplicitUse(ImplicitUseKindFlags.Assign, ImplicitUseTargetFlags.Default)]
    public sealed class SignatureAttribute : Attribute

### Constructors

| Improve this Doc View Source

#### SignatureAttribute(String)

Initializes a new instance of the SignatureAttribute class.

##### Declaration

    public SignatureAttribute(string signature)

##### Parameters

Type | Name | Description
--- | --- | ---
System.String | signature | signature to scan for, see Signature.

### Properties

| Improve this Doc View Source

#### DetourName

Gets the detour name if this signature is for a hook. SignatureHelper will search the type containing this field/property for a method that matches the hook's delegate type, but if it doesn't find one or finds more than one, it will fail. You can specify the name of the method here to avoid this.

##### Declaration

    public string DetourName { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |

| Improve this Doc View Source

#### Fallibility

Gets the fallibility of the signature. When a signature is fallible, any errors while resolving it will be logged in the Dalamud log and the field/property will not have its value set. When a signature is not fallible, any errors will be thrown as exceptions instead. If fallibility is not specified, it is inferred based on if the field/property is nullable.

##### Declaration

    public Fallibility Fallibility { get; set; }

##### Property Value

Type | Description
--- | ---
Fallibility |

| Improve this Doc View Source

#### Offset

Gets the offset from the signature to read memory from, when UseFlags is set to Offset.

##### Declaration

    public int Offset { get; set; }

##### Property Value

Type | Description
--- | ---
System.Int32 |

| Improve this Doc View Source

#### ScanType

Gets the type of scan to perform. By default, this scans the text section of the executable, but this should be set to StaticAddress for static addresses.

##### Declaration

    public ScanType ScanType { get; set; }

##### Property Value

Type | Description
--- | ---
ScanType |

| Improve this Doc View Source

#### Signature

Gets the memory signature for this field/property.

##### Declaration

    public string Signature { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |

| Improve this Doc View Source

#### UseFlags

Gets the way this signature should be used. By default, this is guessed using simple heuristics, but it can be manually specified if SignatureHelper can't figure it out.

SignatureUseFlags

##### Declaration

    public SignatureUseFlags UseFlags { get; set; }

##### Property Value

Type | Description
--- | ---
SignatureUseFlags |