strangeioc/strangeioc — pull request #125 by noodle (2014-12-18 19:36:46+00:00)
Title: Add Name attribute to allow named injection into constructors

## The [Name] attribute
I extended Strange to include an additional attribute, [Name]. When a parameter of a constructor is tagged with [Name], the injector can discriminate between different classes that satisfy the same interface. Here is an example:
```
public class PrintClass {
private IPrinter printer;

[Construct]
public PrintClass([Name("ConsolePrinter")] IPrinter printer) {
this.printer = printer;
}
}
```

I've been using [Name] in my personal projects and it's been incredibly useful so far, and I think it's something other people would find useful too. This feature comes with with its own unit tests that pass along with the existing test suite.