小编Fre*_* L.的帖子

ILDASM 和 ILASM,如何使用它们?

我在尝试使用 Visual Studio 命令提示符(反)组装 dll 时遇到了困难,看起来不像我在 microsoft page 中看到的那么简单。

我正在以这些方式使用 ildasm:

ildasm myLibrary.dll output:MyLibrary.il
Run Code Online (Sandbox Code Playgroud)

我得到:无法打开“MyLibrary.il”进行输出。

我也试过完整路径:

ildasm directory\myLibrary.dll output:directory\MyLibrary.il
Run Code Online (Sandbox Code Playgroud)

我得到:指定的多个输入文件

使用 ildasm GUI 实际上有效,但是当我使用 ilasm 时:

ilasm myLibrary.il /dll
Run Code Online (Sandbox Code Playgroud)

我得到:无法打开 'myLibrary.il',当我使用完整路径时,我得到了同样的错误。

这里有什么问题?

c# cil disassembly ildasm ilasm

7
推荐指数
1
解决办法
9960
查看次数

有没有办法预览 PWA 的启动画面?

是否有办法在浏览器中预览 PWA 启动画面?我无法在 Google 开发工具中预览。

testing progressive-web-apps

7
推荐指数
0
解决办法
413
查看次数

如何检测小部件外的点击?

我有一个按下按钮时显示的菜单,我希望能够在菜单外有 Tap 时关闭菜单,就像常规PopupMenuButton.

我目前的解决方案是使用Stack具有一个GestureDetector作为一个其子检测水龙头,但这种解决方案我的定位是由控制的Stack,我只是想对齐通过菜单的家长控制不是Stack

//part of the build method

return Stack(
          fit: StackFit.expand,
          children: <Widget>[
            Column(             
              mainAxisAlignment: MainAxisAlignment.end,
              children: <Widget>[
                //Holds the list of menu items
                menuContainer, 
                //button that displays the menu
                floatingActionButton]                                 
              ),
              //Detects taps outside the menu
              GestureDetector(onTap: (() => setVisibility(false))
        )
      ]
    ); 
Run Code Online (Sandbox Code Playgroud)

flutter

6
推荐指数
2
解决办法
3990
查看次数

为什么List <T>,Dictionary <T>和其他集合包含一个名为"version"的字段?

我正在查看C#的源代码参考,在一些集合中我发现:

int _version = 0;
Run Code Online (Sandbox Code Playgroud)

每次收集更改时,版本都会增加.

这个领域的重点是什么?

字典

名单

.net c#

4
推荐指数
1
解决办法
106
查看次数

Unsafe.AsPointer&lt;T&gt;(ref T value) 如何工作?

在 C# 中,您不应该能够创建指向托管类型的指针,但通过此 API,您可以使用Unsafe.AsPointer<T>.

https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/

我使用 ILSpy 查看源代码,看到了以下内容:

[MethodImpl(MethodImplOptions.AggressiveInlining)]
[System.Runtime.Versioning.NonVersionable]
public unsafe static void* AsPointer<T>(ref T value)
{
    return &value;
}
Run Code Online (Sandbox Code Playgroud)

还有其他类似的API:

//Unity.Collections.LowLevel.Unsafe.UnsafeUtility
public unsafe static T ReadArrayElement<T>(void* source, int index)
{
    return *(T*)((byte*)source + index * sizeof(T));
}
Run Code Online (Sandbox Code Playgroud)

这是如何运作的以及如何复制这种行为?

c# pointers unsafe

3
推荐指数
1
解决办法
1977
查看次数