创建.NET Ria服务类库时,VS将创建两个项目: MyRiaServices(客户端) MyRiaServices.Web(服务器端)
假设我的实体模型在另一个项目中: MyData(实体框架)
有一个实体人。
然后我想使用partial class以下列方式扩展这个实体:
namespace MyData
{
public partial class Person
{
//....
}
}
如果我在项目MyData中这样做,那很好。
但是我想在项目MyRiaServices.Web中这样做,这样我就可以将文件命名为person.shared.cs,但是我失败了。它给我一个错误,说类定义冲突等。
如何解决此问题?
答案 0 :(得分:0)
您不能以这种方式使用部分类。 partial
关键字的目标是允许编译中的两个或多个源文件对单个类型的完整代码做出贡献。这允许设计者创建的自动生成的代码与开发人员编写的代码位于一个单独的文件中,然后形成一个类Person
。
然而,这个mechisim是一个编译时间的东西。您不能让程序集公开partial
类型,可以使用编译到不同程序集中的代码进一步扩展该类型。
参见定义here。