【问题标题】:C# - Inconsistent Accessibility: return type list is less accessible than method [duplicate]C# - 不一致的可访问性:返回类型列表比方法更难访问[重复]
【发布时间】:2017-01-16 22:32:03
【问题描述】:
namespace BusinessLayer
{
    public class StudentBusinessLayer
    {
        public List<Student> getStudents(string storedProcedure)
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString))
            {
                List<Student> students = new List<Student>();
                SqlCommand comm = new SqlCommand(storedProcedure, conn);
                comm.CommandType = CommandType.StoredProcedure;
                conn.Open();
                SqlDataReader rdr = comm.ExecuteReader();
                while (rdr.Read())
                {
                    Student s = new Student();
                    s.id = Convert.ToInt32(rdr["id"]);
                    s.Name = rdr["Name"].ToString();
                    s.TotalMarks = Convert.ToInt32(rdr["TotalMarks"]);

                    students.Add(s);
                }
                return students;
            }
        }
    }
}

【问题讨论】:

  • 你用谷歌搜索过吗?这是google的第一个结果,

标签: c#


【解决方案1】:

看来你的Student 类不是public,改成public 来修正你的错误。

【讨论】:

  • 成功了!感谢您的回复!这么愚蠢的错误,我没有仔细研究。
  • 不客气,请将其标记为正确答案以供将来参考。
【解决方案2】:

您的退货在错误的区块中:

namespace BusinessLayer
{
    public class StudentBusinessLayer
    {
        public List<Student> getStudents(string storedProcedure)
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString))
            {
                List<Student> students = new List<Student>();
                SqlCommand comm = new SqlCommand(storedProcedure, conn);
                comm.CommandType = CommandType.StoredProcedure;
                conn.Open();
                SqlDataReader rdr = comm.ExecuteReader();
                while (rdr.Read())
                {
                   Student s = new Student();
                   s.id = Convert.ToInt32(rdr["id"]);
                   s.Name = rdr["Name"].ToString();
                   s.TotalMarks = Convert.ToInt32(rdr["TotalMarks"]);

                    students.Add(s);
                }
            }

            return students;
        }
    }
}

【讨论】:

  • 是的,我正在做一些其他的试验和错误方法,所以把它说成是他们的。感谢您指出!
  • 没问题。另一个人对你的班级Student 不是public 是否正确?这显然也是个问题。
猜你喜欢
  • 2019-05-14
  • 1970-01-01
  • 1970-01-01
  • 2014-07-25
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
相关资源
最近更新 更多