建议在对象构造函数中添加事件

时间:2012-02-27 10:54:27

标签: c# asp.net

我需要在类构造函数中添加事件(鼠标点击)的建议。

我从Flickr获得了一系列图像,可以更改,我想向他们添加点击事件。

我真的遇到了问题,所以我制作了一个类图像,并在构造函数中添加了这个事件,所以每次点击它时我都不需要搜索我在页面上点击的控件。

以下是构造函数的示例:

 public FlickerImages(string url, string title, string desc,  System.Web.UI.Page page,ImageButton image)
{
    this.url = url;
    this.title = title;
    this.descreption = desc;
    this.image = image;

    image.Click += this.onImageClick; //--> the event
    //image is a ImageButton object

    this.page = page;


}

我想知道这是一个好习惯,还是应该总是在对象类之外添加事件?

(对不起我的英文)

3 个答案:

答案 0 :(得分:2)

您还应该有一个-=,也许您可​​以使用.Dispose()方法将您的课程设为IDisposable并取消参与该事件。

答案 1 :(得分:1)

也许这可以帮助你...这是一种不同的方法,但可以提供帮助

http://blog.majcica.com/2011/12/01/a-simple-asp-net-flickr-application-part-2/

答案 2 :(得分:1)

你可能想看看这个类似的问题:

Is it poor form for a C# class to subscribe to its own published events?

但除此之外,为什么要在图像类中存储对页面的引用?您还应确保在每次回发时重新创建这些对象。

我建议改用UserControls并添加适当的属性和事件。