提问人:freeprogramer233 提问时间:4/28/2019 更新时间:4/28/2019 访问量:45
为什么我的 IDE (Visual Studio Code) 将“using xy”指令标记为不必要的,即使我需要它们进行编译?
Why does my IDE (Visual Studio Code) mark "using xy" directives as unneccessary even though i require them for compiling?
问:
我想编译和运行一些 c# 代码,但由于引用的库找不到方法/类,它不起作用。即使我包含了所需的命名空间,例如“using System.Collections.Generic;”,它们也会显示为灰色并标有“Using directive is unconccessary”,即使我的代码需要它。因此,编译失败。我做错了什么?
using System.Collections.Generic;
namespace NetCoreExamples
{
class Program
{
static void Main(string[] args)
{
##some code##
}
private static async Task MainAsync(string[] args)
{
var type = Type.GetType(args[0]);
await (Task)type.GetMethod("RunAsync", BindingFlags.NonPublic | BindingFlags.Static)
.Invoke(null, new object[] {args.TakeLast(args.Length - 1).ToArray() });
}
}
}
关于短语“args.TakeLast(args.Length - 1)“, ”TakeLast“ 带有下划线,表示”string[] 没有 TakeLast 的定义,并且没有找到接受第一个参数作为 string[] 的扩展方法。(可能缺少使用指令或程序集引用)”。
要使用 System.Collections.Generic.IEnumerable,我发现它的位置:
Namespace: System.Collections.Generic
组件: System.Runtime.dll、mscorlib.dll、netstandard.dll
但是“using System.Collections.Generic;”一直显示为灰色,引用项目的程序集并没有改变任何内容。
我确信这是微不足道的,但我似乎无法找出我做错了什么。
答: 暂无答案
评论
System.Linq
TakeLast
TakeLast
在 4.7 中不可用。你可以改用 和 代替。Skip
Take