ploeh/Albedo — pull request #55 by adamchester (2014-01-07 11:41:29+00:00)
Title: Introduced `ToString` overrides for reflection elements,

In order to provide a better debugging experience.

This implements #53.

The following is a summary of the proposed changes.

```csharp
new object [] {
Assembly.GetExecutingAssembly(),
typeof(TimeSpan),
typeof(TimeSpan).GetConstructor(new Type[] { typeof(long) }), // .ctor(long ticks)
typeof(Assembly).GetEvent("ModuleResolve"),
typeof(string).GetField("Empty"),
typeof(Exception).GetMethod("GetObjectData").GetMethodBody().LocalVariables[0],
typeof(object).GetMethod("Equals", new[] { typeof(object)}).GetParameters()[0],
typeof(string).GetProperty("Chars"),
}
.Select(o => o.ToReflectionElement())
.Select(e => new { Type = e.GetType(), ToString = e.ToString() })
```

Produces the following output:

Type	ToString
AssemblyElement	query_idbiin, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
TypeElement	System.TimeSpan
ConstructorInfoElement	Void .ctor(Int64)
EventInfoElement	System.Reflection.ModuleResolveEventHandler ModuleResolve
FieldInfoElement	System.String Empty
LocalVariableInfoElement	System.String (0)
ParameterInfoElement	System.Object obj
PropertyInfoElement	Char Chars [Int32]