c# - 尝试打印覆盖的 ToString() 方法时,C# 无法从“方法组”转换为“布尔”
问题描述
我将尽量保持简短和简单。我创建了一个类似学生、科目和班级的列表。学生可以上课,科目可以分配给学生等。此代码有效并且没有问题,但我认为它可能会为您解决一些问题,所以我添加了它。
话说回来...
我正在尝试测试是否可以使用覆盖 ToString 方法打印代码。问题是我得到了错误:can not convert from 'method group' to 'bool',即使我告诉该方法返回一个字符串。
有谁知道这可能是什么原因?
代码(供参考)
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Lists.ToString);
}
}
我想保持 Program 类有点干净,所以我把原来在那里的代码放到了另一个类中。我还注意到,由于某种原因,tostring 覆盖在那里不起作用。
class Lists
{
static List<Klas> Klassenlijst = new List<Klas>()
{
//new classes get created
new Klas("KL0001", "AO1-A", new List<Student>()), //klas [0]
new Klas("KL0002", "AO1-B", new List<Student>()), //klas [1]
new Klas("KL0003", "AO2-A", new List<Student>()), //klas [2]
new Klas("KL0004", "AO3-B", new List<Student>()), //klas [3]
new Klas("KL0005", "GD1-A", new List<Student>()), //klas [4]
new Klas("KL0069", "STM-F", new List<Student>()), //klas [5]
};
//A big ol' list with students.
static List<Student> StudentenLijst = new List<Student>()
{
new Student("S101010", "Test123", "69", "420"), //student [0]
new Student("S202020", "Dio Brando", "1234AT", "+31 06 261552"), //student [1]
new Student("S303030", "Mark Rutte", "2345MK", "+31 06 289985"), //student [2]
new Student("S404040", "Jarl Balgruuf", "5897WH", "+31 06 123456"), //student [3]
new Student("S505050", "Darth Revan", "3131MK", "+31 06 280985"), //student [4]
new Student("S606060", "Geralt Of Rivia", "3459RV", "+31 06 909090"), //student [5]
new Student("S707070", "Obama II", "0262BR", "+31 06 158775"), //student [6]
};
//List with subjects a student can follow
static List<Vakken> VakkenLijst = new List<Vakken>()
{
new Vakken("0", "Nederlands"), //Vak [0]
new Vakken("1", "Engels"), //Vak [1]
new Vakken("2", "Rekenen"), //Vak [2]
new Vakken("3", "Software Programming"), //Vak [3]
new Vakken("4", "Web Development"), //Vak [4]
new Vakken("5", "Tools en Devices"), //Vak [5]
new Vakken("6", "Maatschappijleer"), //Vak [6]
new Vakken("7", "Game Development"), //Vak [7]
new Vakken("8", "project"), //Vak [8]
};
public void AlleLijsten()
{
//Adds students to a class---------------------------------------------------------------------
//Creates a new class variable and binds it the classlist
Klas klas01 = Klassenlijst[0];
Klas klas02 = Klassenlijst[1];
Klas klas03 = Klassenlijst[2];
Klas klas04 = Klassenlijst[3];
Klas klas05 = Klassenlijst[4];
Klas klas69 = Klassenlijst[5];
//makes a new student variable and binds it to a student object in the student list.
Student student01 = StudentenLijst[0];
Student student02 = StudentenLijst[1];
Student student03 = StudentenLijst[2];
Student student04 = StudentenLijst[3];
Student student05 = StudentenLijst[4];
Student student06 = StudentenLijst[5];
Student student07 = StudentenLijst[6];
//Bunch of students get assigned to a class (theres a bunch of code behind here that i dont show)
klas01.Voegstudenttoe(student01);
klas01.Voegstudenttoe(student02);
klas01.Voegstudenttoe(student03);
klas02.Voegstudenttoe(student04);
klas02.Voegstudenttoe(student01);
klas03.Voegstudenttoe(student05);
klas04.Voegstudenttoe(student06);
klas69.Voegstudenttoe(student04);
klas69.Voegstudenttoe(student07);
//Assign a subject to a student-----------------------------------------------------------------------
//creates a subject variable and binds it to an actual subject
Vakken VakNED = VakkenLijst[0];
Vakken VakENG = VakkenLijst[1];
Vakken VakREK = VakkenLijst[2];
Vakken VakSWP = VakkenLijst[3];
Vakken VakWDV = VakkenLijst[4];
Vakken VakTND = VakkenLijst[5];
Vakken VakMSL = VakkenLijst[6];
Vakken VakGDV = VakkenLijst[7];
Vakken VakPRJ = VakkenLijst[8];
//vakken aanwijzen aan de studenten
//student 2 gets a bunch of subjects assigned
student01.VoegVakToe(VakNED);
student01.VoegVakToe(VakENG);
student01.VoegVakToe(VakPRJ);
student01.VoegVakToe(VakMSL);
student01.VoegVakToe(VakWDV);
student01.VoegVakToe(VakSWP);
//same goes for student 2
student02.VoegVakToe(VakWDV);
student02.VoegVakToe(VakSWP);
//rince and repeat
student03.VoegVakToe(VakWDV);
student03.VoegVakToe(VakSWP);
//student 4 krijgt vakken aangewezen
student04.VoegVakToe(VakWDV);
student04.VoegVakToe(VakSWP);
student04.VoegVakToe(VakNED);
//student 5 krijgt vakken aangewezen
student05.VoegVakToe(VakWDV);
student05.VoegVakToe(VakSWP);
//student 6 krijgt vakken aangewezen
student06.VoegVakToe(VakWDV);
student06.VoegVakToe(VakGDV);
student06.VoegVakToe(VakSWP);
student06.VoegVakToe(VakREK);
student06.VoegVakToe(VakNED);
student06.VoegVakToe(VakPRJ);
//student 7 krijgt vakken aangewezen
student07.VoegVakToe(VakSWP);
student07.VoegVakToe(VakREK);
student07.VoegVakToe(VakNED);
student07.VoegVakToe(VakPRJ);
}
public new static string ToString()
{
return $"Lijst met alle klassen: {String.Join("\n", Klassenlijst)}";
}
}
我只是一个初学者,我的知识不是特别深,所以如果我在某个地方犯了一个愚蠢的错误,请原谅我。
编辑:我只打印带有类的列表的原因是我只想看看打印是否有效。其余的将在以后出现。
编辑二:为什么它首先要转换为布尔值?
解决方案
您忘记在ToString()
方法调用中添加括号。
Console.WriteLine(Lists.ToString);
应该:
Console.WriteLine(Lists.ToString());
推荐阅读
- saxon - Download of Saxonica for .NET has .jar files
- json - 角料表行点击可在同一页面的表下显示更多信息
- python - 熊猫数据框将列识别为具有特定格式的日期
- python - python中函数名的长度有限制吗?
- mysql - 如何将 Google Cloud SQL 数据库连接到 Minecraft 的 CoreProtect 插件?
- sql - 完全外部自我加入不同日期的数据
- matlab - 在 MATLAB 中保存大量数据的最佳方法
- excel - Excel 使用数据模型补充我的跟踪表
- python - 将对象放入 S3 存储桶工作,但仅在存储桶级别,而不是在带有 Boto3 的文件夹内
- python - 正则表达式函数查找所有数字序列