无法在同一程序集中的其他类中调用类的成员函数

本文关键字:其他 调用 函数 成员 集中 程序集 程序 | 更新日期: 2023-09-27 18:35:58

我无法通过创建前者的实例(都在同一个程序集中)来调用另一个类的成员函数。请帮忙。

namespace MovieListCaseStudy
{    
   class BusinessLogic
   {
        List<Movie> movielist = new List<Movie>()
        {
            new Movie {Id=1, Name="pk", Duration=2, Price=200}            
        };
        Movie searchMovie(int id)
        {
            Movie result = null;
            foreach( Movie m in movielist)
            {
                if(id==m.Id)
                {
                    result = m;
                    break;
                }
            }
            return result;
        }            
    }        
}

namespace MovieListCaseStudy
{    
    class UserInterface    
    {           
        static void Main(string[] args)
        {
            BusinessLogic bl = new BusinessLogic();
            bl //Not able to access the method _searchMovie_ here                
        }
    }
}

无法在同一程序集中的其他类中调用类的成员函数

BusinessLogic 的成员添加访问修饰符。所有成员都隐式private;它们必须显式internalpublic才能从另一个类访问(除非以某种方式涉及嵌套类)。

你的方法是private的,你需要让它public

public Movie searchMovie(int id)
默认情况下,类成员和结构

成员(包括嵌套类和结构)的访问级别是私有的。

在此处阅读有关访问修饰符的更多信息:

  • 访问修饰符(C# 编程指南)

类成员的默认修饰符是 private 。公开您的方法:

public Movie searchMovie(int id)
    {
      ...
    }

不能调用它,因为必须将其声明为 public