Show / Hide Table of Contents

# Class PluginMetadata

A class which describes a loaded plugin.

##### Inheritance

Object
PluginMetadata

##### Inherited Members

Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()

###### Namespace: IPA.Loader

###### Assembly: IPA.Loader.dll

##### Syntax

    public class PluginMetadata

### Properties

| Improve this Doc View Source

#### Assembly

The assembly the plugin was loaded from.

##### Declaration

    public Assembly Assembly { get; }

##### Property Value

Type | Description
--- | ---
Assembly | the loaded Assembly that contains the plugin main type

| Improve this Doc View Source

#### Features

The features this plugin requests.

##### Declaration

    public IReadOnlyList<Feature> Features { get; }

##### Property Value

Type | Description
--- | ---
IReadOnlyList<Feature> | the list of features requested by the plugin

| Improve this Doc View Source

#### File

The file the plugin was loaded from.

##### Declaration

    public FileInfo File { get; }

##### Property Value

Type | Description
--- | ---
FileInfo | the file the plugin was loaded from

| Improve this Doc View Source

#### Id

The BeatMods ID of the plugin, or null if it doesn't have one.

##### Declaration

    public string Id { get; }

##### Property Value

Type | Description
--- | ---
String | the updater ID of the plugin

| Improve this Doc View Source

#### IsBare

Whether or not this metadata object represents a bare manifest.

##### Declaration

    public bool IsBare { get; }

##### Property Value

Type | Description
--- | ---
Boolean | true if it is bare, false otherwise

| Improve this Doc View Source

#### Name

The human readable name of the plugin.

##### Declaration

    public string Name { get; }

##### Property Value

Type | Description
--- | ---
String | the name of the plugin

| Improve this Doc View Source

#### PluginType

The TypeDefinition for the main type of the plugin.

##### Declaration

    public TypeDefinition PluginType { get; }

##### Property Value

Type | Description
--- | ---
Mono.Cecil.TypeDefinition | the Cecil definition for the plugin main type

| Improve this Doc View Source

#### RuntimeOptions

The RuntimeOptions that the plugin specified in its PluginAttribute.

##### Declaration

    public RuntimeOptions RuntimeOptions { get; }

##### Property Value

Type | Description
--- | ---
RuntimeOptions |

| Improve this Doc View Source

#### Version

The version of the plugin.

##### Declaration

    public Version Version { get; }

##### Property Value

Type | Description
--- | ---
SemVer.Version | the version of the plugin

### Methods

| Improve this Doc View Source

#### ToString()

Gets all of the metadata as a readable string.

##### Declaration

    public override string ToString()

##### Returns

Type | Description
--- | ---
String | the readable printable metadata string

##### Overrides

Object.ToString()

### Extension Methods

ReflectionUtil.SetField<T, U>(T, String, U)
ReflectionUtil.GetField<U, T>(T, String)
ReflectionUtil.SetProperty<T, U>(T, String, U)
ReflectionUtil.GetProperty<U, T>(T, String)
ReflectionUtil.InvokeMethod<U, T>(T, String, Object[])