小编Pet*_*erg的帖子

ConfigureAwait:处理异常的线程在哪?

当你awaita时Task,默认的延续在同一个线程上运行.您实际需要的唯一时间是,如果您在UI线程上,并且延续也需要在UI线程上运行.

你可以通过使用ConfigureAwait,例如:

await SomeMethodAsync().ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)

...这对于从不需要在那里运行的UI线程卸载工作非常有用.(但请参阅Stephen Cleary在下面的评论.)

现在考虑这段代码:

try
{
    await ThrowingMethodAsync().ConfigureAwait(false);
}
catch (Exception e)
{
    // Which thread am I on now?
}
Run Code Online (Sandbox Code Playgroud)

那怎么样?

try
{
    await NonThrowingMethodAsync().ConfigureAwait(false);

    // At this point we *may* be on a different thread

    await ThrowingMethodAsync().ConfigureAwait(false);
}
catch (Exception e)
{
    // Which thread am I on now?
}
Run Code Online (Sandbox Code Playgroud)

.net c# async-await

6
推荐指数
1
解决办法
1805
查看次数

VS Code 扩展未在扩展开发主机中加载

我通过以下方式生成了一个示例扩展。 https://code.visualstudio.com/api/get-started/your-first-extension

当我从调试视图运行扩展并搜索扩展“Hello World”时。它根本不会出现在命令面板中。

我的包.json

{
  "name": "testextension",
  "displayName": "TestExtension",
  "description": "",
  "version": "0.0.1",
  "engines": {
    "vscode": "^1.76.0"
  },
  "categories": [
    "Other"
  ],
  "activationEvents": [],
  "main": "./out/extension.js",
  "contributes": {
    "commands": [
      {
        "command": "testextension.helloWorld",
        "title": "Hello World"
      }
    ]
  },
  "scripts": {
    "vscode:prepublish": "npm run compile",
    "compile": "tsc -p ./",
    "watch": "tsc -watch -p ./",
    "pretest": "npm run compile && npm run lint",
    "lint": "eslint src --ext ts",
    "test": "node ./out/test/runTest.js"
  },
  "devDependencies": {
    "@types/vscode": "^1.76.0",
    "@types/glob": "^8.1.0",
    "@types/mocha": "^10.0.1", …
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-extensions

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

VS Code 中的 C# Intellisense 今天随机停止工作

关键字仍然可以识别,但只能识别新的用户定义的类,使用命名空间也无法识别,代码运行良好,但对这样的代码来说确实很烦人。

尝试了几个小时的所有方法,甚至运行 Windows 10 VM,新用户全新安装了 VS Code(仅使用 C# 和 .NET Install Tool for Extension Authors 扩展)和 .NET 7.0 SDK,但仍然不行在职的。

我正在考虑在我的主系统上重新安装 Windows,但发现它在虚拟机上不起作用,这也是毫无意义的,其他人也遇到这个问题吗?

c# intellisense visual-studio-code

6
推荐指数
1
解决办法
2745
查看次数

将参数或参数传递给Uwp中的后台任务

我正在创建一个uwp应用程序,在该应用程序中我想从文本框中获取用户说的一些数据,然后将其传递给后台任务。但是,当我尝试将项目引用添加到后台任务时,出现循环引用错误。因此,有什么方法可以传递参数,例如运行函数的重载或其他任何东西。提前致谢。

c# win-universal-app uwp

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

WPF 中的 ItemsControl / DataTemplate 内部没有样式继承?

谁能解释为什么TextBlock我的内部DataTemplate不应用我的UserControl.Resources元素中定义的样式,但第二个TextBlock('Test B')呢?

我认为这可能与某处设置为不继承的依赖属性有关,但我不能确定。

<UserControl.Resources>       
    <Style  TargetType="{x:Type TextBlock}">
        <Setter Property="Padding" Value="8 2" />
    </Style>
</UserControl.Resources>
<StackPanel>
    <ItemsControl ItemsSource="{Binding}">         
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <!--Padding does not apply--> 
                <TextBlock>Test A</TextBlock>
             </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
    <!--Padding applies-->
    <TextBlock>Test B</TextBlock>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml

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

任务':app:processDebugResources'的执行失败.未能执行aapt

在Android Studio中,当我将Android SDK工具更新到版本25时出现此错误:

在此输入图像描述

我试图将gradle build中的SDK版本修改为21以执行我的应用程序,但是我有这个错误.真的,我不知道为什么会这样.这是我的build.gradle档案:

在此输入图像描述

非常感谢你的帮助!

xml android gradle

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

在 Android 应用程序中使用 React Native 组件,无需创建新的 Activity

我正在考虑跨移动平台(iOS 和 Android)使用反应本机组件。我见过的将 React-Native 组件添加到 Android 应用程序的唯一方法是创建一个扩展ReactActivity.

有没有办法以较低的粒度添加/使用反应本机组件,例如View

android react-native

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

如何在Android平台上的react-native中调用javascript方法?

当我单击本机UI中的按钮(可能来自片段容器)时,我想从JavaScript调用一个方法,让我们像'jsMethod'或其他一样调用它.但是,我以前从未处理过这种情况.

我正在查找网站上Facebook文档的一些相关代码,到目前为止找不到问题的关键.有人给我一些建议吗?

android react-native

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

调试从 .NET Framework 升级到 .NET 6 后突然出现的命令行参数

我将一个项目从 .NET Framework 4.7.2 升级到 .NET 6。当我在 Visual Studio 调试器中运行该程序时,一个意外的参数(称为foo)被传递到 .NET Framework Program.Main

从哪里来foo的?项目属性的“调试”页面不显示任何参数:

应用程序参数(空)

换句话说,这里没什么可看的。然后我添加了一个bar参数:

应用程序参数(带有“bar”)

Program.Main现在传递了一个包含两个字符串的数组,foo并且bar. 发生了什么?

csproj visual-studio visual-studio-2022

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

为什么这段代码会在线程“main”java.lang.OutOfMemoryError:Java堆空间中抛出异常?

import java.util.HashMap;\nimport java.util.HashSet;\n\npublic class ComputeIfAbsentWithHashSetNew {\n    public static void main(String[] args) {\n        var map = new HashMap<Integer, HashSet<Integer>>();\n        var data = new int[][]{{305589003, 4136}, {305589004, 4139}};\n        for (var entry : data) {\n            int x = entry[0];\n            int y = entry[1];\n//            map.computeIfAbsent(x, _x -> new HashSet<>()).add(y); // ----- line 1\n            var k = map.computeIfAbsent(x, HashSet::new);           // ----- line 2\n            k.add(y);\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

上面的代码抛出 jdk 17\xe3\x80\x81 18\xe3\x80\x81 19:

\n
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space\n    at java.base/java.util.HashMap.resize(HashMap.java:702)\n    at java.base/java.util.HashMap.putVal(HashMap.java:627)\n …
Run Code Online (Sandbox Code Playgroud)

java

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