委托是什么东西?可以 public event事件名 as 委托名 这样吗?
我用上as就报错 网上搜了一下, 好像也没有 as XXdelegate.这里是题目要求, 我真是不明白再说什么。把学校的人员结构抽象成University类,要求此类中包含方法、事件、属性等。用代码实现抽象(只需要定义)其中,包括学生和教师成员,抽象出Student类和Teacher类,Teacher类里包含了授课方法,Student类里包含学习方法,学生m_students和教师m_teachers是两种独立的对象,可用property语句声明属性。事件包括开学和放假。可参考以下事件名称:
开学事件TermBeginsEvent
放假事件TermEndsEvent
定义事件的语法为“public event事件名 as 委托名”,如“public event TermBeginsEvent as EventHandler”表示开学事件的定义)。
最后我自己写成了这样, 请各位看看是不是题目的要求:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Task_ch07
{
public class University
{
Student m_students;
public Task_ch07.Student Students
{
get { return m_students; }
set { m_students = value; }
}
Teacher m_teachers;
public Task_ch07.Teacher Teachers
{
get { return m_teachers; }
set { m_teachers = value; }
}
event EventHandler TermBeginsEvent;
event EventHandler TermEndsEvent; public University(){ TermBeginsEvent += new EventHandler(TermBeginsEvent1);
TermEndsEvent += new EventHandler(TermEndsEvent1);
} public void TermBeginsEvent1(Object sender, EventArgs e)
{
Console.WriteLine("开学");
}
public void TermEndsEvent1(Object sender, EventArgs e)
{
Console.WriteLine("放假");
} }
public class Student
{
public void haveClass()
{
Console.WriteLine("上课");
}
}
public class Teacher
{
public void teachClass()
{
Console.WriteLine("授课");
} }
}
我用上as就报错 网上搜了一下, 好像也没有 as XXdelegate.这里是题目要求, 我真是不明白再说什么。把学校的人员结构抽象成University类,要求此类中包含方法、事件、属性等。用代码实现抽象(只需要定义)其中,包括学生和教师成员,抽象出Student类和Teacher类,Teacher类里包含了授课方法,Student类里包含学习方法,学生m_students和教师m_teachers是两种独立的对象,可用property语句声明属性。事件包括开学和放假。可参考以下事件名称:
开学事件TermBeginsEvent
放假事件TermEndsEvent
定义事件的语法为“public event事件名 as 委托名”,如“public event TermBeginsEvent as EventHandler”表示开学事件的定义)。
最后我自己写成了这样, 请各位看看是不是题目的要求:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Task_ch07
{
public class University
{
Student m_students;
public Task_ch07.Student Students
{
get { return m_students; }
set { m_students = value; }
}
Teacher m_teachers;
public Task_ch07.Teacher Teachers
{
get { return m_teachers; }
set { m_teachers = value; }
}
event EventHandler TermBeginsEvent;
event EventHandler TermEndsEvent; public University(){ TermBeginsEvent += new EventHandler(TermBeginsEvent1);
TermEndsEvent += new EventHandler(TermEndsEvent1);
} public void TermBeginsEvent1(Object sender, EventArgs e)
{
Console.WriteLine("开学");
}
public void TermEndsEvent1(Object sender, EventArgs e)
{
Console.WriteLine("放假");
} }
public class Student
{
public void haveClass()
{
Console.WriteLine("上课");
}
}
public class Teacher
{
public void teachClass()
{
Console.WriteLine("授课");
} }
}
解决方案 »
- 请问try catch里面可以套try catch吗?
- 用c#编写的webservice,客户端传查询sql语句服务器端执行并返回值
- 错误: 对象不支持“createEvent”属性或方法
- c# 在第一个Excel表的最后插入,另一个EXCEL表的所有数据
- 关闭窗体,确认问题
- 关于window.print()
- 简单提问一下
- 取服务端中dataGridView数据发送到客户端dataGridView中显示
- 关于讨论短信即时更新的问题
- 多文档窗体求救!
- Form中,form背景为灰色,其中有个picBox1颜色为蓝色,该图片上有个picBox2,设置为透明,想让pixBox2显示picBox1的颜色改怎么办
- 一个小问题!winform
event强调了事件。通过订阅事件来获得通知
delegate则泛指符合某种格式的函数
EventHandler 是一个预定义的委托,专用于表示不生成数据的事件的事件处理程序方法。
EventHandler 委托
TermBeginsEvent += new EventHandler(TermBeginsEvent1);
.“+=”为此事件添加一个委托,这个委托代表一个事件处理方法。
是VB.net的语法
MSDN自己查啊,里面讲的很详细
MSDN自己查啊,里面讲的很详细