给出以下C#代码,其中以两种不同的方式调用Dispose方法:
class Disposable : IDisposable
{
public void Dispose()
{
}
}
class Program
{
static void Main(string[] args)
{
using (var disposable1 = new Disposable())
{
Console.WriteLine("using");
}
var disposable2 = new Disposable();
try
{
Console.WriteLine("try");
}
finally
{
if (disposable2 != null)
((IDisposable)disposable2).Dispose();
}
}
}
Run Code Online (Sandbox Code Playgroud)
一旦使用发布配置编译然后用ildasm反汇编,MSIL看起来像这样:
.method private hidebysig static void Main(string[] args) cil managed
{
.entrypoint
// Code size 57 (0x39)
.maxstack 1
.locals init ([0] class ConsoleApplication9.Disposable disposable2,
[1] class ConsoleApplication9.Disposable disposable1)
IL_0000: …Run Code Online (Sandbox Code Playgroud) 在一个新项目中,我安装了typescript, eslint, @typescript-eslint/parser, @typescipt-eslint/eslint-plugin。我还添加了以下.eslintrc文件:
{
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"]
}
Run Code Online (Sandbox Code Playgroud)
和以下tsconfig.json文件:
{
"compilerOptions": {
"strict": true
}
}
Run Code Online (Sandbox Code Playgroud)
问题是tsconfig.json当我运行命令时没有应用选项 from eslint。但是,它与命令一起按预期工作tsc。
例如,文件index.ts包含:
function sum(a, b) {}
Run Code Online (Sandbox Code Playgroud)
如果我运行npx eslint index.js,我没有错误,而如果我运行tsc --noEmit,我有两个:
我希望eslint命令返回与命令相同的错误tsc。任何的想法?
编辑我尝试在以下情况下使用和不使用以下内容.eslintrc:
"parserOptions": {
"project": "./tsconfig.json"
}
Run Code Online (Sandbox Code Playgroud)