动态对象

时间:2011-03-29 16:29:05

标签: c# .net dynamic

对如何在创建后修改动态变量感到好奇。

我想,我可以将它们存储到某种列表中。

但是我确实为它们分配了一个名称和事件,并想知道触发事件的时间是否可以用其名称修改项目?(对象发送者)

编辑澄清:

在运行时创建新项目并将其与事件相关联。

Image img = new Image();
img.name = "Image" + someIntValue;
img.MouseDown += new MouseButtonEventHandler(selectedImageClick);
someGrid.Children.add(img);
void selectedImageClick(object sender, MouseButtonEventArgs e)
{
   //Modify that image e.g: border      
}

1 个答案:

答案 0 :(得分:2)

要修改发件人,您必须进行投射。您的事件处理程序将如下所示:

void selectedImageClick(object sender, MouseButtonEventArgs e)
{
    Image img = sender as Image;
    if (img != null)  // In case someone calls this event handler with something other than an Image
    {
        //Modify that image e.g: border
    }
}