[英]C# Call Generic method from Generic method
我该怎么做? 我发现了如何使用反射来调用泛型方法? 但不确定这是我的情况。
public class XmlSerializer
{
public string Serialize<T>(T obj) where T : class
{
return string.Empty;
}
}
class Program
{
static void Main(string[] args)
{
MakeRequst<string>("value");
}
public static void MakeRequst<T>(T myObject)
{
var XmlSerializer = new XmlSerializer();
XmlSerializer.Serialize<T>(myObject);
}
}
泛型方法,它调用了另一个泛型方法,其约束比被调用的方法要少:
public class Foo
{
public void Bar1<T>() where T : class {}
public void Bar2<T>() where T : class
{
Bar1<T>(); // same constraints, it's OK
}
public void Bar3<T>() where T : class, ISomeInterface
{
Bar1<T>(); // more constraints, it's OK too
}
public void Bar4<T>()
{
Bar1<T>(); // less constraints, error
}
}
这里Bar4
方法打破Bar1
的约束,因为它允许你传递值类型为通用的说法,但这是不允许的Bar1
方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.