How to pass a Type to a method for a return of the same type - C#