True Shape 对象 释放模式下的类型

Roy Li - MSFT 32,051 信誉分 Microsoft 供应商
2024-04-19T01:06:54.63+00:00

我有这样的XAML:


<Canvas Name="c">
<Rectangle/>
<Rectangle/>
<Image/>
</Canvas>

现在,当我在 c 中迭代这样的 XAML 时#


string s = "";

foreach (object o in c.Children)            
{         
        s += o.GetType().Name;
}

接下来,我尝试在“调试”和“发布”模式下运行此类代码。

在调试模式下,它给出正确的类名,但在发布模式下,它给出“Shape”作为 Rectangle 类名。

如何解决这个问题,我需要在调试和发布运行模式下使用正确的名称。

 

此问题由True Shape object Type in release mode - Microsoft Q&A总结而来.

通用 Windows 平台 (UWP)
通用 Windows 平台 (UWP)
一个 Microsoft 平台,用于生成和发布适用于 Windows 桌面设备的应用。
17 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Junjie Zhu - MSFT 15,056 信誉分 Microsoft 供应商
    2024-04-19T05:49:16.32+00:00

    你好!

    直接对特定控件进行特殊处理,似乎可以作为一种解决方法,你可以试试这个。

    string s = "";
    foreach (object o in c.Children)
    {
        if (o.GetType() == typeof(Rectangle))
        {
            s += "Rectangle";
        }
        else
        {
            s += o.GetType().Name;
        }
    
    }
    

    谢谢。


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收电子邮件通知,请按照我们的文档中的步骤启用电子邮件通知 此线程的相关电子邮件通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助