我目前在构建 C# 项目时遇到 CS1061 错误。此错误仅发生在我的代码中非常特定的位置。
错误 CS1061 描述:
'type' does not contain a definition for 'member' and no extension method 'name' accepting a first argument of type 'type' could be found (are you missing a using directive or an assembly reference?).
我有两个文件,一个
main.cs
和一个 partial.cs
。 partial.cs
是 main.cs
的部分类。 main.cs
内部包含两个类,main
类和helper
类。
当
helper
类实例化 main
类并调用 main
文件中定义的 partial.cs
类的方法时,会引发错误。
根据我的理解,这不应该是一个问题。
main
类分为两个文件,但在编译期间,部分类被合并。
这个问题看起来很相似,但他的解决方案对我不起作用。这两个文件都包含在项目中。 单独文件中的 ASP.NET C# 部分类不起作用 CS1061
有什么想法吗?
main.cs
namespace Price.WS
{
public partial class Main : BaseWebService
{
public Main()
{
//CODEGEN: This call is required by the ASP.NET Web Services Designer
InitializeComponent();
}
private DataSet _TestMethod()
{
//Stuff
}
}
public class Helper: IExchangeable
{
public void Test()
{
using (Main main = new Main())
{
main.TestMethod(); //This is where the error gets thrown. The compiler doesn't see TestMethod() as a method of main
}
}
}
}
部分.cs:
namespace Price.WS
{
public partial class Main : BaseWebService
{
[WebMethod()]
public DataSet TestMethod()
{
//Stuff
return _TestMethod();
//Stuff
}
}
}
编辑:它似乎并不特定于辅助类中调用的方法。在单独的类中构建期间会引发另一个错误。该类的设置方式与上一个类相同,只是它没有额外的帮助程序类。当分部类的主要部分调用另一个文件中分部类中声明的方法时,此方法会失败。
我发现了这个问题。该错误实际上是在另一个具有指向此类的链接的项目中。具有链接的项目不包含部分类的链接,因此这些方法不可用。