如何检测对象类型和标记

mon*_*bre 3 windows-phone-7

我是Windows Phone 7的新手.我点击了一个按钮,得到了:

private void button1_click(object sender, RoutedEventArgs e)
{

}
Run Code Online (Sandbox Code Playgroud)

是否可以获取发件人的标签属性和对象类型?

key*_*rdP 6

您可以使用GetType()方法获取Type:

sender.GetType();
Run Code Online (Sandbox Code Playgroud)

如果要将其强制转换为按钮,则可以执行此操作.

var myButton = sender as Button;
if(myButton != null)
    var buttonTag = myButton.Tag;
Run Code Online (Sandbox Code Playgroud)

使用as而不是(Button)sender意味着如果它不能被转换为Button而不是抛出异常,它将只返回null.然后我们可以检查它是否为null,如果它不为null,我们可以访问它的Tag属性.