using System;
public class Test
{
public class DictBase
{
public int Val;
}
class Dict1 : DictBase
{
public int GetVal( )
{
return Val;
}
}
class ConvertBase< T> where T : DictBase
{
public T _dict;
public ConvertBase( )
{
_dict = new T( ) ;
}
public void GetSome( )
{
var t = _dict.Val ;
}
}
class Convert1 : ConvertBase< Dict1>
{
public void DoWork( )
{
var t = _dict.GetVal ( ) ;
}
}
public static void Main( )
{
// your code goes here
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljICBjbGFzcyBEaWN0QmFzZQogICAgewogICAgICAgIHB1YmxpYyBpbnQgVmFsOwogICAgfQoKICAgIGNsYXNzIERpY3QxIDogRGljdEJhc2UKICAgIHsKICAgICAgICBwdWJsaWMgaW50IEdldFZhbCgpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gVmFsOwogICAgICAgIH0KICAgIH0KICAgIGNsYXNzIENvbnZlcnRCYXNlPFQ+IHdoZXJlIFQgOiBEaWN0QmFzZQogICAgewogICAgICAgIHB1YmxpYyBUIF9kaWN0OwoKICAgICAgICBwdWJsaWMgQ29udmVydEJhc2UoKQogICAgICAgIHsKICAgICAgICAgICAgX2RpY3QgPSBuZXcgVCgpOwoKICAgICAgICB9CgogICAgICAgIHB1YmxpYyB2b2lkIEdldFNvbWUoKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIHQgPSBfZGljdC5WYWw7CiAgICAgICAgfQogICAgfQoKICAgIGNsYXNzIENvbnZlcnQxIDogQ29udmVydEJhc2U8RGljdDE+CiAgICB7CiAgICAgICAgcHVibGljIHZvaWQgRG9Xb3JrKCkKICAgICAgICB7CiAgICAgICAgICAgIHZhciB0ID0gX2RpY3QuR2V0VmFsKCk7CiAgICAgICAgfQogICAgfQoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCX0KfQ==
compilation info
prog.cs(23,21): error CS0304: Cannot create an instance of the variable type `T' because it does not have the new() constraint
Compilation failed: 1 error(s), 0 warnings
stdout