我在构建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# partial class in separate files not working 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
}
}
}
}
Partial.cs:
namespace Price.WS
{
public partial class Main : BaseWebService
{
[WebMethod()]
public DataSet TestMethod()
{
//Stuff
return _TestMethod();
//Stuff
}
}
}
编辑:它似乎并不特定于辅助类中调用的方法。在单独的类中构建期间会抛出另一个错误。此类的设置方式与上一个相同,但它没有额外的辅助类。当部分类的主要部分调用另一个文件中的部分类中声明的方法时,这个失败。
答案 0 :(得分:0)
我发现了这个问题。该错误实际上是另一个具有此类链接的项目。具有链接的项目不包含指向部分类的链接,因此这些方法不可用。