C#委托所代表的方法是不是一定是静态方法?

不知道问的是否有问题?我是学生,正在学这个,我发现给委托变量赋的值必须是static修饰的,否则就会报错字段初始值设定项无法引用非静态字段、方法或属性原因何在啊... 不知道问的是否有问题?
我是学生,正在学这个,我发现给委托变量赋的值必须是static修饰的,否则就会报错
字段初始值设定项无法引用非静态字段、方法或属性
原因何在啊
展开
 我来答
tn瓶邪
推荐于2018-05-11 · TA获得超过1883个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:115万
展开全部
  委托既可以绑定静态方法也可以绑定实例方法,但是在绑定实例方法的时候,delegate的target属性就被设置为指向这个实例方法所属类型的一个实例对象。当绑定静态方法时,delegate的target属性就给NULL
  委托是一个类,将方法封装成委托类型的对象。委托对象里包含三个部分的东西:
  1、指向方法的指针,标识要回调的方法。
  2、指向方法所指向的对象的指针,默认为null,当封装静态方法时,指针为null;
  当封装对象的方法时,指针指向当前调用方法的对象。
  3、构建委托链表时对委托对象的索引。
失去的那位
2013-08-07
知道答主
回答量:7
采纳率:0%
帮助的人:1万
展开全部
你是在静态方法中调用非静态的了,和委托没有关系,是你自己的方法是静态的,所以你的委托也必须要静态的了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
y85171642
2013-08-07 · TA获得超过130个赞
知道小有建树答主
回答量:175
采纳率:0%
帮助的人:80.1万
展开全部
没必要吧,没听懂你说的什么意思,你可以放一下你的源码,我看看,什么问题!
private delegate void DelegateFileAdd(string fileName, long fileSize);
public void FileAdd(string fileName,long fileSize)
{
if (richTextBox1.InvokeRequired)
{
DelegateFileAdd dfa = new DelegateFileAdd(FileAdd);
this.Invoke(dfa, new object[] { fileName ,fileSize});
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿银故事
2013-08-07 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:152
采纳率:100%
帮助的人:88.8万
展开全部
你百度下 张子阳 ,他又编文章详细讲了 委托和事件 蛮简单的 我刚开始学的时候收了很多资料 我觉得他写的蛮简单的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式