我有一个包含2个不同项目的系统,一个叫做LINQ_Extensions,另一个是ORM_Linq。
在ORM_Linq上,我有LINQ图,其中SQL表在“clased”中被“转换”。其中一个类称为“Tipos_Pago”
在另一个项目中,我有另一个类(部分类)“Tipos_Pago”。我想使用方法OnValidate来验证“Tipos_Pago”类中的属性包含,所以我创建了这个部分类。
在2个项目中,我将相同的NameSpace“ORM_Linq”(我更改了项目“LINQ_Extensions”的NameSpace,使其与项目“ORM_Linq”相同)
在这些chages之后,Visual Studio给了我这个错误:
错误1找不到实现部分方法声明的定义声明'ORM_Linq.Tipos_Pago.OnValidate(System.Data.Linq.ChangeAction)'C .. \ Tipos_Pago.cs 13 22 Extensiones_Linq
我对发生的事情一无所知,有人可以帮助我吗?
谢谢,抱歉我的英语很差
这是部分类中的代码:
namespace ORM_Linq
{
public partial class Tipos_Pago
{
partial void OnValidate(System.Data.Linq.ChangeAction action)
{
//Valid code
}
}
}
答案 0 :(得分:2)
您不能在两个项目中实现部分,因为它们必须一起编译,partial
声明必须全部在同一个项目中。
同样的规则适用于方法和类。
答案 1 :(得分:2)
您需要在与设计器生成的类相同的项目中创建部分实现。
来自Microsoft documentation:
所有部分类型定义都意味着 必须是同一类型的部分 在同一个程序集中定义 相同的模块(.exe或.dll文件)。 部分定义不能跨越 多个模块。