我有一个问题,我没有线索如何做到这一点。其实我不确定标题是否正确。如何封装具有泛型类型约束的方法
我想封装一个具有泛型参数的方法。这个想法是在方法调用周围添加一些日志记录调用。
因此这个功能
public void Load<T>(T spObject, params Expression<Func<T, object>>[] retrievals)
{
try
{
... .Load(spObject, retrievals);}...
}
}
应该封装一个函数,它看起来像这样。
public void Load<T>(T spObject, params Expression<Func<T, object>>[] retrievals)
where T : ClientObject
的Where T : ClientObject
已被删除,因为它需要在另一个项目中引用的额外dll
。
当我试图在那里我得到一个错误说
类型“T”不能用作类型参数“T”的泛型类型或方法“去除Microsoft.SharePoint.Client.ClientRuntimeContext .Load(T,参数...
希望一些有一个想法,我怎么会处理这个问题。
感谢:-) 格尔茨
因为Load方法包含约束https://msdn.microsoft.com/en-us/library/office/ee536388.aspx,如果您从加载方法中将其删除,则可能是用户的方法传递给ClientRuntimeContext.Load方法的对象不是ClientObject –
有没有其他方法来确保对象来自ClientObject?在方法调用方? –
reflaction呢? –