gpt4 book ai didi

c# - 在调用它之前检查是否可以从 api 调用方法

转载 作者:行者123 更新时间:2023-11-30 12:57:40 24 4
gpt4 key购买 nike

我有以下代码:

var view = ApplicationView.GetForCurrentView();
var runtimeMethods = view.GetType().GetRuntimeMethods();
if (!view.IsFullScreen)
{
var tryEnterFullScreenMode = runtimeMethods.FirstOrDefault(
x => x.Name == "TryEnterFullScreenMode");
tryEnterFullScreenMode?.Invoke(view, null);
}

这样做会导致我的应用程序变为全屏,但是如果我在 Windows 8.1 电脑上,我将无法调用这些方法。在调用方法之前,我如何首先检查此功能是否可用。我会使用#if...#endif 吗?基本上,我只想在应用程序在可以访问它的机器(Windows 10 操作系统)上运行时使用此代码。

最佳答案

桌面开发不会受到 Web 开发所经历的碎片化的影响,因此没有功能支持查询,而是库支持/操作系统版本。至少我不知道。

通常做的是

1) 动态加载程序集,基于您运行的操作系统系列版本。为此,您需要一些通用的接口(interface)包装器,它在内部、在引擎盖下包含所有“真实”的 API 调用。

2) 每个不同操作系统系列都有不同的版本。您需要支持 2 个代码库。不过,实际上不同的代码可能会移动到单独的程序集,因此您只有一小部分程序集,这些程序集在不同的操作系统系列之间是不同的。适合打补丁,因为只需将相对少量的数据移动到客户端。这里仍然需要通用接口(interface)。

所以你必须找到答案的基本问题是:不是如何处理多样性,而是当你发现你需要做一些与预期不同的事情时你应该做什么。从中你可以理解你将要处理它的最可靠的方式。

关于c# - 在调用它之前检查是否可以从 api 调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33175696/

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