in some project we are using Generics, and we get a lot of lines like this:
Line myLine =
(Line
No, you cannot create a global alias.
No such thing as a global alias. What you can do is use type inference to simplify your declarations:
var myLine = (Line<SomeTClass, SomeCClass>)LineFactory.CreateLine(...);
and if that's not specific enough for the inference system, you can make the CreateLine() method generic to enforce it:
var myLine = LineFactory.CreateLine<Line<SomeTClass, SomeCClass>>(...);
and given the name of the LineFactory type, maybe even simplify it some more:
var myLine = LineFactory.CreateLine<SomeTClass, SomeCClass>(...);
This last option feels "right" to me in some way I can't fully articulate. Just in case you need a little help, the method declaration would look like something this:
public static class LineFactory
{
public static Line<T,C> CreateLine<T,C>(...) { ... }
}