繁体   English   中英

从对象C#获取特定数据

[英]Getting specific data from an object C#

我正忙于使用gridview作为类别页面的UWP应用。 我已经为单击一个网格项时放置了一个OnClick侦听器,并且它可以工作。 结果是一个包含imageURL和imageText的对象。

这是问题开始的地方,我需要访问该对象并检索图像文本,我尝试使用各种方法将其转换,但似乎没有任何作用。

这是单击的项目的输出,这是正确的。 点击项目的输出

这是我最近的尝试,只是通过“无法转换此类型的对象”

private void CategoryItem_Click(object sender, ItemClickEventArgs e)
        {
            object output = e.ClickedItem;
            //string[] arr = ((IEnumerable)e.ClickedItem).Cast<object>()
                                 //.Select(x => x.ToString())
                                 //.ToArray();
        }

您可以使用as运算符object转换为Wiin.MainPage.MyImage

private void CategoryItem_Click(object sender, ItemClickEventArgs e)
{
    MyImage output = e.ClickedItem as MyImage;
    if (output == null) return; // the clicked item was not of the expected type
    string text = output.ImageText;
    string url = output.ImageUrl;
}

调试器显示e.ClickedItem中的object MyImage实例,因此MyImage应该起作用。


如果MyImage类型是类型( struct ),则as运算符将不起作用。 您需要直接进行投射:

MyImage output = (MyImage)e.ClickedItem;

但是,如果e.ClickedItem包含其他类型的实例,则此InvalidCastException将引发InvalidCastException 你可能会使用铸造前检查类型is

if (!e.ClickedItem is MyImage) return;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM