我尝试在VS 2010 MVC3应用程序中实现LinkedIn身份验证。我指的是来源
博客网站中的代码。但我发现在构建代码时发生了错误。
请参见下图。
这个'T'对象需要任何引用。
请帮忙。
更新问题
我根据@StuartLC
更新了我的问题
答案 0 :(得分:4)
您需要更改方法签名,如下所示:
private T Deserialize<T>(string xmlContent)
然后,每次调用方法时都明确需要提供类型参数,因为T
无法推断(例如,来自参数),即
var widget = Deserialize<Widget>(someXmlString);
编辑根据@ pswg的评论,如果这样做有意义的话,你也可以使整个类具有通用性。然后,您不需要在Deserialize
方法中指定类型参数,因为它现在是类中固有的。但是,如果要在类之外调用该方法,则需要使该方法更加可见(例如public
)。
var widgetDeserializer = new MyDeserializerClass<Widget>();
var widget = widgetDeserializer.Deserialize(someXmlString);
答案 1 :(得分:2)
您需要指定反序列化对象的类型...
private T Deserialize<T>(string xmlContent)
{
....
}
答案 2 :(得分:0)
它应该是这样的
private T FuncName<T>(T param) where T : class
{
return param;
}