gpt4 book ai didi

c# - 是否有编译器开关来关闭对 ​​C# 中泛型的支持?

转载 作者:太空狗 更新时间:2023-10-29 23:55:22 26 4
gpt4 key购买 nike

我正在与一个合作伙伴合作,我们试图将一个复杂的驱动程序从 .NET 平台转移到 .NET MicroFramework。

问题是 .NET MF 不支持泛型,当我们尝试构建应用程序时,最后一个“链接”操作退出,错误代码为“CLR_E_PARSER_UNSUPPORTED_GENERICS”。然而,没有关于 WHERE(模块、代码行)的信息。

据我们所知,没有人故意插入泛型,他们一直在仔细检查代码以确定问题所在,但没有成功。

所以我的问题是:有没有什么方法可以关闭 VS2010 中对泛型的支持,以便编译器标记有问题的行?

最佳答案

Is there some way to turn off support for Generics in VS2010 so that the compiler will flag the offending line ?

是的,但这是一个“核”选项:

using System.Collections.Generic;
class Test
{
static void Main()
{
IEnumerable<int> x = null;
}
}

C:\> csc /langversion:ISO-1 \foo.cs
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.

c:\foo.cs(9,12): error CS1644: Feature 'generics' cannot be used because it is
not part of the ISO-1 C# language specification

ISO-1 开关关闭了C# 1.0 中没有的所有功能,这些功能可能比您想关闭的要多。

请注意,该开关并非旨在成为“在 C# 2.0 编译器中模拟 C# 1.0”开关;如果您想运行 C# 1.0 编译器,只需运行它即可。该开关旨在识别特定版本中不存在的功能并禁止使用它们。

请注意,开关也可能不会执行您需要它执行的所有操作。它所做的只是禁止使用通用语法。如果您使用的是通用类型,但实际上没有使用通用语法,则开关不会捕捉到它。

关于c# - 是否有编译器开关来关闭对 ​​C# 中泛型的支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5236852/

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