请问关于c的具体应用场景有哪些?

2026-04-29 02:233阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计230个文字,预计阅读时间需要1分钟。

请问关于c的具体应用场景有哪些?

csharpEventHandler a=new EventHandler(control_RegionChanged);EventHandler b=new EventHandler(control_RegionChanged);if (a==b) { Console.WriteLine(Same!);} else { Console.WriteLine(a.GetHashCode() + + + b.GetHashCode());}

EventHandler a = new EventHandler(control_RegionChanged); EventHandler b = new EventHandler(control_RegionChanged); if (a == b) { Console.WriteLine("Same!"); } else { Console.WriteLine(a.GetHashCode() + " " + b.GetHashCode()); }

这写得相同!到控制台.

control.RegionChanged += new EventHandler(control_RegionChanged); control.RegionChanged -= new EventHandler(control_RegionChanged);

执行此代码后,EventHandler是否未注册?

是;委托在实例和MethodInfo上进行比较;如果它们是相同的,那么它将起作用.尝试取消订阅匿名方法时会出现问题;在这种情况下,您必须保留对代理人的引用才能取消订阅.

所以:

这可以:

请问关于c的具体应用场景有哪些?

control.SomeEvent += obj.SomeMethod; //... control.SomeEvent -= obj.SomeMethod;

但这风险更大:

control.SomeEvent += delegate {Trace.WriteLine("Foo");}; //... control.SomeEvent -= delegate {Trace.WriteLine("Foo");};

使用匿名方法的正确过程是:

EventHandler handler = delegate {Trace.WriteLine("Foo");}; control.SomeEvent += handler; //... control.SomeEvent -= handler;

本文共计230个文字,预计阅读时间需要1分钟。

请问关于c的具体应用场景有哪些?

csharpEventHandler a=new EventHandler(control_RegionChanged);EventHandler b=new EventHandler(control_RegionChanged);if (a==b) { Console.WriteLine(Same!);} else { Console.WriteLine(a.GetHashCode() + + + b.GetHashCode());}

EventHandler a = new EventHandler(control_RegionChanged); EventHandler b = new EventHandler(control_RegionChanged); if (a == b) { Console.WriteLine("Same!"); } else { Console.WriteLine(a.GetHashCode() + " " + b.GetHashCode()); }

这写得相同!到控制台.

control.RegionChanged += new EventHandler(control_RegionChanged); control.RegionChanged -= new EventHandler(control_RegionChanged);

执行此代码后,EventHandler是否未注册?

是;委托在实例和MethodInfo上进行比较;如果它们是相同的,那么它将起作用.尝试取消订阅匿名方法时会出现问题;在这种情况下,您必须保留对代理人的引用才能取消订阅.

所以:

这可以:

请问关于c的具体应用场景有哪些?

control.SomeEvent += obj.SomeMethod; //... control.SomeEvent -= obj.SomeMethod;

但这风险更大:

control.SomeEvent += delegate {Trace.WriteLine("Foo");}; //... control.SomeEvent -= delegate {Trace.WriteLine("Foo");};

使用匿名方法的正确过程是:

EventHandler handler = delegate {Trace.WriteLine("Foo");}; control.SomeEvent += handler; //... control.SomeEvent -= handler;