小编Dam*_*yer的帖子

为文件夹分支中的所有类启用 C# 8.0 的 Nullable Reference Types 功能

我希望禁用文件夹及其子文件夹中包含的所有文件的可空引用类型功能。

我知道我可以放在#nullable disable每个文件的顶部,并且已经阅读了整个项目/解决方案的示例但是无法找到针对特定文件夹执行此操作的方法。

是否可以?

谢谢。

c# c#-8.0 nullable-reference-types

6
推荐指数
0
解决办法
462
查看次数

初始化前无法访问“authReducer”

ReferenceError: Cannot access 'authReducer' before initialization我在使用Reduxwithredux-toolkit和 时遇到错误redux-persist

combineReducers我有 3 个减速器,我将它们合并在一起redux-toolkit。然后我正在配置存储,将其中一个减速器持久保存到localStorage. 当我运行该应用程序时,我看到上面提到的错误消息,它指向authSlice,如果我将其注释掉,错误消息就会消失,我就能够成功运行该应用程序。我的问题是,我无法弄清楚为什么错误会专门出现,authSlice因为它或多或少与其他减速器相同。

import { configureStore, ThunkAction, Action } from "@reduxjs/toolkit";
import { persistStore, persistReducer } from "redux-persist";
import storage from "redux-persist/lib/storage";
import { useDispatch } from "react-redux";
import { rootReducer } from "./rootReducer";

const persistConfig = {
  key: "root",
  storage: storage,
  whitelist: ["user"],
};

const persistedReducer = persistReducer(persistConfig, rootReducer);

export const store = configureStore({
  reducer: persistedReducer, …
Run Code Online (Sandbox Code Playgroud)

reactjs redux redux-thunk react-redux redux-toolkit

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

字符串不能用于索引类型“T”

我在 TypeScript 中启用了严格模式,并且在设置对象索引时遇到问题,即使我已经在其类型上设置了字符串索引器。

禁用 noImplicitAny 可以解决此问题,但我宁愿不这样做。

我仔细研究了这个答案,但这些建议没有取得成功。

type stringKeyed = { [key: string]: any }
type dog = stringKeyed & { name: string }
type cat = stringKeyed & { lives: number }

function setLayerProps<T extends dog | cat>(
    item: T,
    props: Partial<T>
) {
    if (item) {
        Object.entries(props).forEach(([k, v]) => {
                item[k] = v; // Error: Type 'string' cannot be used to index type 'T'.ts(2536)

        });
    }
}


let d = { name: 'fido' } as dog; …
Run Code Online (Sandbox Code Playgroud)

typescript

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

使用 TypeScirpt 的 AWS SDK V3 的 Lambda 处理程序签名是什么

我正在将适用于 JavaScript 的 AWS 开发工具包的现有项目从 V2 更新到 V3,并将我们的使用方式从 JavaScript 转移到 TypeScript。

我正在努力为 Lambda 定义强类型处理程序。

我发现的例子与此类似。我猜他们使用的是 SDK V2。

export const lambdaHandler = async (event: APIGatewayEvent, context: Context): Promise<APIGatewayProxyResult> => {
    return {
        statusCode: 200,
        body: JSON.stringify({
            message: 'hello world',
        }),
    };
};
Run Code Online (Sandbox Code Playgroud)

我浏览了V3 源代码中类似的类APIGatewayEventContextAPIGatewayProxyResult我没有想到可以填补这些角色。

有人可以告诉我如何强输入这些签名吗?

aws-sdk-js

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

创建一个随时间过期的Autofac Lifetimescope

我有一个bank/collection,用于在内存中缓存对象的实例,这样每个请求都不需要返回数据存储区.我希望Autofac提供该银行的一个实例,但是在x秒后将其过期,以便在下一个请求中创建一个新实例.我无法设置LifetimeScope来实现这一目标.我已经通过阅读几次.银行对象实际上不受工作单元的约束.理想情况下,它将位于所有工作单元"之上",在其内部和之间缓存对象.

我目前正在使用下面的方法,但它没有像我希望的那样工作.

有人可以指点我正确的方向吗?

....
builder.Register(c =>
            {
                return new ORMapBank(c.Resolve<IORMapRoot>());
            }).InstancePerMatchingLifetimeScope(ExpireTimeTag.Tag());


        IContainer container = builder.Build();
        var TimedCache= RootScope.BeginLifetimeScope(ExpireTimeTag.Tag());
        DependencyResolver.SetResolver(new AutofacDependencyResolver(TimedCache));
Run Code Online (Sandbox Code Playgroud)

....

public static class ExpireTimeTag
{
    static DateTime d = DateTime.Now;
    static Object tag = new Object();

    public static object Tag()
    {
        if (d.AddSeconds(10) < DateTime.Now)
        {
            CreateTag();
        return tag;
    }

    private static void CreateTag()
    {
        tag = new Object();
    }
}
Run Code Online (Sandbox Code Playgroud)

首先十分感谢.

autofac

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

T4MVC支持区域中的静态文件?

我开始大量使用T4MVC"链接"功能(例如,@ Links.Content.Site_css).有没有人知道是否有办法为存储在区域内的文件夹中的文件生成方法?我尝试对设置文件进行以下修改,但没有运气.

// Folders containing static files for which links are generated (e.g. Links.Scripts.Map_js)
readonly string[] StaticFilesFolders = new string[] {
"Scripts",
"Content",
"Areas/Admin/Content"
};
Run Code Online (Sandbox Code Playgroud)

首先十分感谢.

DS

t4mvc

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

根据触发器分支设置 YAML 变量

我正在尝试了解用于在 devops 中定义构建管道的 yaml 语法。

我想根据哪个分支触发构建在文件中设置变量。

# trigger:
 batch: true
 branches:
   include:
    - master
    - develop
    - staging

 variables:
    buildConfiguration: 'Release' # Can I set this according to the branch which triggered the build?
Run Code Online (Sandbox Code Playgroud)

我尝试了以下但似乎无法定义变量两次。

 variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'

 variables:
  condition: eq(variables['Build.SourceBranch'], 'refs/heads/develop')
  buildConfiguration: 'Develop'

 variables:
  condition: eq(variables['Build.SourceBranch'], 'refs/heads/release')
  buildConfiguration: 'Release'
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助 :-)

azure-devops

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

ReactiveUI,Xamarin Forms和XAML锁定的"Hello World"

我正试图用Reactive UI和Xamarin Forms做一个hello world.

我创建了一个ViewModel(基于ReactiveObject),一个自定义页面(基于ReactiveContentPage)和一些XAML标记.

该页面有一个条目和一个绑定在一起的Label.当我运行它(在iOS和Android上)时,它似乎适用于键入的前几个字符,然后锁定.控制台给出了"在主线程上发生了太多"的警告.

我错过了什么?

这个项目在这里.

该模型

namespace XamarinFormsReactiveUIExample
{
    public class MyPageModel : ReactiveObject
    {
        private string _userName = "";
        public string UserName {
            get { return _userName; }
            set { this.RaiseAndSetIfChanged (ref _userName, value); }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这页纸

namespace XamarinFormsReactiveUIExample
{
    public partial class MyPage : ReactiveContentPage<MyPageModel>
    {
        public MyPage ()
        {
            InitializeComponent ();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

XAML

<?xml version="1.0" encoding="UTF-8"?>
<reactive:ReactiveContentPage 
x:TypeArguments="local:MyPageModel"
xmlns="http://xamarin.com/schemas/2014/forms" 
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
x:Class="XamarinFormsReactiveUIExample.MyPage"
xmlns:local="clr-namespace:XamarinFormsReactiveUIExample;assembly=XamarinFormsReactiveUIExample"
xmlns:reactive="clr-namespace:ReactiveUI.XamForms;assembly=ReactiveUI.XamForms">
    <reactive:ReactiveContentPage.BindingContext>
      <local:MyPageModel />
    </reactive:ReactiveContentPage.BindingContext>

     <reactive:ReactiveContentPage.Padding> …
Run Code Online (Sandbox Code Playgroud)

xaml xamarin.ios xamarin.android reactiveui xamarin

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

在 OSX/Node 上脱机使用 Azure 表存储

我知道Windows 上可用的Azure 存储模拟器,但是我想知道是否有人知道在 Mac 上使用节点时针对 Azure 表进行开发的解决方案。我正在考虑使用官方的 microsoft npm package,但没有提到离线支持。

谢谢你的帮助。

azure-table-storage

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

离子电容器运行 android --list not shoiwing 虚拟设备

我正在尝试使用命令行将 Capacitor 3 应用程序部署到虚拟 Android 设备。我既有作为模拟器运行的 Pixel 3a,也有连接的物理设备。在 Android studio 中,两者都会出现,我可以部署到两者。还adb devices显示两部手机。

但是,npx cap run android --list仅显示物理设备。

我是否还需要启用一些设置才能显示模拟设备?

谢谢 :-)

capacitor

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

getFoldableComposition、option、array 等弃用后的重构

去年我花了一些时间尝试学习 FP-TS。我终于开始在项目中使用它,并且由于最近的重构,我的很多示例代码都被破坏了。我已经修复了一些破损,但正在与其他破损进行斗争。毫无疑问,它突出了我的 FP 知识的一个巨大整体!

我有这个:

import { strict as assert } from 'assert';
import { array } from 'fp-ts/Array';
import { getFoldableComposition, } from 'fp-ts/Foldable';
import { Monoid as MonoidString } from 'fp-ts/string'
import { none,some, option } from 'fp-ts/Option';

const F = getFoldableComposition(array, option)
assert.strictEqual(F.reduce([some('a'), none, some('c')], '', MonoidString.concat), 'ac')
Run Code Online (Sandbox Code Playgroud)

getFoldableComposition、选项和数组现已弃用。getFoldableComposition 上的评论说要使用reduce、foldMap 或reduceRight 来代替,所以除其他外,我尝试了这个。

import { strict as assert } from 'assert';
import { reduceRight } from 'fp-ts/Foldable';
import { Monoid as MonoidString } from 'fp-ts/string'
import { some …
Run Code Online (Sandbox Code Playgroud)

fp-ts

2
推荐指数
1
解决办法
497
查看次数