Kiw*_*nax 3 c# extension-methods
我有一个名为的班级NIFERepository.它包含一个SaveObject方法,该方法不返回任何内容并对数据库执行操作.
public class NIFERepository<E>
{
protected void SaveObject(object saveObject)
{
if (saveObject is E)
this.RepositorySession.Merge(saveObject);
}
}
Run Code Online (Sandbox Code Playgroud)
1.我希望创建一个调用此SaveObject()方法的公共扩展方法,如下所示:
public static class NIFERepositoryExtensions
{
public static T Save<T, E>(this T self, E saveObject) where T : NIFERepository<E>
{
self.SaveObject(saveObject);
return self;
}
}
Run Code Online (Sandbox Code Playgroud)
但受保护的范围不允许我的扩展方法识别它.
我有办法让这种形式的方法起作用吗?
2.我用2种类型创建了我的扩展方法:T和E.T是调用它的实例,例如,E是我定义的类型ProductRepository<Product>.当我调用此方法时,未显示已定义的类型.

我有办法让这个工作吗?