I have the following implicit conversion operator:
public static implicit operator InputArgument<T>(T value)
{
return new InputArgument<T>(value);
}
The following is code in an ASP.NET MVC controller:
This works:
InputArgument<string> input = "Something";
This works:
InputArgument<Controller> input = this;
This works:
InputArgument<IPrincipal> input = new InputArgument<IPrincipal>(User);
But this doesn't work:
InputArgument<IPrincipal> input = User;
The last example gives the error:
> Cannot implicitly convert type
> 'System.Security.Principal.IPrincipal' to
> 'Engine.InputArgument<System.Security.Principal.IPrincipal>'. An
> explicit conversion exists (are you missing a cast?)
What could be the reason that this implicit conversion does not work for IPrincipal?