Question: Is there a way to store a delegate without binding it to an object like how you can with a MethodInfo? Right now I am storing a MethodInfo so I can give it the object to call the method for. But I much rather have it be a delegate. Like is there an attribute that tells .net that the first parameter is "this"?

```
MethodInfo mi;
Action<string> func;
mi.Invoke(this,new object[]{str});
func(this, str); //Is this possible with a delegate?

```

Answer: 
What you want is called an [open instance delegate](https://msdn.microsoft.com/en-us/library/96b1ayy4.aspx#Anchor_1). It isn't supported directly in the C# language, but the CLR supports it.

Basically, an open instance delegate is the same as a normal delegate, but it takes an extra parameter for `this` before the normal parameters, and has a null target (like a delegate for a static method). For instance, the open instance equivalent of `Action<T>` would be:

```
delegate void OpenAction<TThis, T>(TThis @this, T arg);

```

Here's a complete example:

```
void Main()
{
    MethodInfo sayHelloMethod = typeof(Person).GetMethod("SayHello");
    OpenAction<Person, string> action =
        (OpenAction<Person, string>)
            Delegate.CreateDelegate(
                typeof(OpenAction<Person, string>),
                null,
                sayHelloMethod);

    Person joe = new Person { Name = "Joe" };
    action(joe, "Jack"); // Prints "Hello Jack, my name is Joe"
}

delegate void OpenAction<TThis, T>(TThis @this, T arg);

class Person
{
    public string Name { get; set; }

    public void SayHello(string name)
    {
        Console.WriteLine ("Hi {0}, my name is {1}", name, this.Name);
    }
}

```

Have a look at [this article](http://www.simple-talk.com/community/blogs/simonc/archive/2010/07/28/93676.aspx) for more details.
A delegate is essentially just a `MethodInfo` (actually, a `MethodBase`) and an object reference, with some internal pointers for performance. So if you have a `MethodInfo`, you essentially have an unbound delegate. What is your specific use case?