C#允许部分接口吗?即,在ManagerFactory1.cs类中,我有
public partial interface IManagerFactory
{
// Get Methods
ITescoManager GetTescoManager();
ITescoManager GetTescoManager(INHibernateSession session);
}
Run Code Online (Sandbox Code Playgroud)
在ManagerFactory.cs类中,我有:
public partial interface IManagerFactory
{
// Get Methods
IEmployeeManager GetEmployeeManager();
IEmployeeManager GetEmployeeManager(INHibernateSession session);
IProductManager GetProductManager();
IProductManager GetProductManager(INHibernateSession session);
IStoreManager GetStoreManager();
IStoreManager GetStoreManager(INHibernateSession session);
}
Run Code Online (Sandbox Code Playgroud)
ManagerFactory和ManagerFactory1都位于同一个程序集中.
Jon*_*eet 85
最简单的方法就是尝试:)
但是,是的,允许部分接口.
partial
修饰符的有效位置(使用C#3.0规范引用):
规范的10.2节包含了部分类型的大部分一般细节.
无效的地点:
MSDN上的部分类和方法(C#编程指南)
partial
interface
.在涉及代码生成时,主要使用部分接口.例如,当生成接口的一部分而另一部分是用户编写的时.
确实如此,但一个重要的问题是什么?
部分类是存在的,因此您可以扩展自动生成的代码.VS可以生成表单文件或代码隐藏,或Linq to SQL访问器,您可以使用部分扩展它.
我会避免使用partials来分割类(或者在这种情况下是接口),因为它通常会产生比它值得更多的混乱.
在这种情况下,我会调查为什么这需要跨越多个文件 - 工厂模式接口可以使跟踪代码更复杂,但在这里您将通过多个文件进行跟踪.