gpt4 book ai didi

c# - UWP - 访问 ProductListing.CurrencyCode 时出现 InvalidCastException

转载 作者:行者123 更新时间:2023-11-30 23:13:20 30 4
gpt4 key购买 nike

我遇到了一个非常奇怪的问题。我需要在 WSA_10_0 环境中存储 ProductListing 项目的 CurrencyCode 属性。

这是代码

foreach (ProductListing product in listings.ProductListings.Values)
{
Debug.Log("CURRENCY_CODE/"+product.CurrencyCode);
}

尝试执行代码时出现以下错误

Additional information: Unable to cast object of type 'Windows.ApplicationModel.Store.ProductListing' to type 'Windows.ApplicationModel.Store.IProductListing2'.

现在,这真的很奇怪,因为 as this documentation page states ProductListing 对象继承自 IProductListing2

全部异常内容在这里

System.InvalidCastException occurred
HResult=-2147467262
Message=Unable to cast object of type 'Windows.ApplicationModel.Store.ProductListing' to type 'Windows.ApplicationModel.Store.IProductListing2'.
Source=mscorlib
StackTrace:
at System.StubHelpers.StubHelpers.GetCOMIPFromRCW_WinRT(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget)
at Windows.ApplicationModel.Store.ProductListing.get_CurrencyCode()
at CI.WSANative.IAPStore.WSANativeStore.<GetProductListingsAsync>d__5.MoveNext()
InnerException:

更新:

我已经尝试访问列表对象的 CurrencyCode 属性,该属性属于 ListingInformation 类型,尽管它应该具有该属性,basing on the class documentation , 它给出了类似的错误。

Additional information: Unable to cast object of type 'Windows.ApplicationModel.Store.ListingInformation' to type 'Windows.ApplicationModel.Store.IListingInformation2'.

最佳答案

CurrencyCode属性以及 IListingInformation2 接口(interface)在 Windows 版本 10586 上引入。如果您针对 10586 或更新版本的 SDK 构建您的应用程序,您将能够在您的代码中使用它,但如果您在 Windows 版本 10240、CLR 的机器上运行该应用程序仍将尝试调用该方法,方法是首先在 Windows 运行时对象上为属性 getter 所在的接口(interface)执行查询接口(interface)(在 CurrencyCode 的情况下,它是 IListingInformation2),但查询接口(interface)调用将失败,并且 CLR 将抛出 InvalidCastException。

关于c# - UWP - 访问 ProductListing.CurrencyCode 时出现 InvalidCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43678462/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com