C# 编译在分部类中引用方法时失败

本文关键字:引用 方法 失败 编译 | 更新日期: 2023-09-27 18:36:16

我目前在构建 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.csmain.cs包含两个类,main类和helper类。

helper 类实例化 main 类并调用partial.cs文件中定义的main类的方法时,将引发错误。

据我了解,这应该不是问题。main类在两个文件中拆分,但在编译期间,分部类将合并。

这个问题似乎很相似,但他的解决方案对我不起作用。这两个文件都包含在项目中。ASP.NET C# 分部类在单独的文件中不起作用 CS1061

有什么想法吗?

主.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
        }          
    }      
}

编辑:它似乎不特定于在帮助程序类中调用的方法。在单独类的构建过程中抛出另一个错误。此类的设置方式与上一个类相同,只是它没有额外的帮助程序类。当分部类的主部分调用在另一个文件中的分部类中声明的方法时,此操作失败。

C# 编译在分部类中引用方法时失败

我发现了这个问题。该错误实际上位于具有指向此类的链接的另一个项目中。具有链接的项目不包含指向分部类的链接,因此这些方法不可用。