小编Lau*_*ant的帖子

.NET反编译器区分"使用"和"尝试......最后"

给出以下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)

.net c# cil decompiler

13
推荐指数
1
解决办法
228
查看次数

typescript-eslint 未使用 tsconfig

在一个新项目中,我安装了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,我有两个:

  • 错误 TS7006:参数“a”隐式具有“任何”类型。
  • 错误 TS7006:参数“b”隐式具有“任何”类型。

我希望eslint命令返回与命令相同的错误tsc。任何的想法?

编辑我尝试在以下情况下使用和不使用以下内容.eslintrc

"parserOptions": {
  "project": "./tsconfig.json"
}
Run Code Online (Sandbox Code Playgroud)

typescript eslint typescript-eslint

5
推荐指数
1
解决办法
7879
查看次数

标签 统计

.net ×1

c# ×1

cil ×1

decompiler ×1

eslint ×1

typescript ×1

typescript-eslint ×1