38 lines
439 B
C#
Raw Normal View History

class MainClass
{
static class TypeConverter<TIn, TOut>
where TIn : class
where TOut : struct
{
public static bool Convert(TIn input)
{
if (input is TOut)
{
return true;
}
return false;
}
}
public static int Main()
{
object x = 3;
if (TypeConverter<object, double>.Convert(x))
return 1;
if (!TypeConverter<I, S>.Convert(new S()))
return 2;
return 0;
}
}
interface I
{
}
struct S : I
{
}