小编mac*_*pak的帖子

如果元素不可见则滚动

如何使用jquery确定元素在当前页面视图中是否可见.我想添加一个注释功能,就像在facebook中一样,只有在当前不可见时才滚动到元素.通过可见,我的意思是它不在当前页面视图中,但您可以滚动到该元素.

javascript jquery scroll viewport visible

21
推荐指数
4
解决办法
4万
查看次数

Roslyn - 替换节点并修复空格

在我的程序中,我使用 Roslyn,并且需要用新节点替换节点。例如,如果我有类似的代码

public void Foo()
{
   for(var i = 0; i < 5; i++)
      Console.WriteLine("");
}
Run Code Online (Sandbox Code Playgroud)

我想为 for 语句插入括号,我得到

public void Foo()
{
   for(var i = 0; i < 5; i++)
{
      Console.WriteLine("");
}
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用 NormalizeWhitespace,但如果我在 for 语句中使用它,我得到

public void Foo()
{
for(var i = 0; i < 5; i++)
{
   Console.WriteLine("");
}
}
Run Code Online (Sandbox Code Playgroud)

但是,我希望 for 语句格式正确。有任何提示如何做吗?

编辑:我通过使用解决了它:

var blockSyntax = SyntaxFactory.Block(
            SyntaxFactory.Token(SyntaxKind.OpenBraceToken).WithLeadingTrivia(forStatementSyntax.GetLeadingTrivia()).WithTrailingTrivia(forStatementSyntax.GetTrailingTrivia()),
            syntaxNodes,
            SyntaxFactory.Token(SyntaxKind.CloseBraceToken).WithLeadingTrivia(forStatementSyntax.GetLeadingTrivia()).WithTrailingTrivia(forStatementSyntax.GetTrailingTrivia())
);
Run Code Online (Sandbox Code Playgroud)

不过,Sam的回答也是正确的。

code-formatting roslyn

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

使用非原始值序列化字典键时,System.Text.Json.JsonSerializer 会忽略 DictionaryKeyPolicy

我有以下代码(.Net Core 3.1):

var dictionary = new Dictionary<string, object>()
{
    {"Key1", 5},
    {"Key2", "aaa"},
    {"Key3", new Dictionary<string, object>(){ {"Key4", 123}}}
};
var serialized = JsonSerializer.Serialize(dictionary, new JsonSerializerOptions()
{
    PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
    DictionaryKeyPolicy = JsonNamingPolicy.CamelCase,
});
Run Code Online (Sandbox Code Playgroud)

我希望序列化变量有一个如下所示的字符串:

{"key1":5,"key2":"aaa","key3":{"key4":123}}
Run Code Online (Sandbox Code Playgroud)

然而我得到的是:

{"key1":5,"key2":"aaa","Key3":{"key4":123}}
Run Code Online (Sandbox Code Playgroud)

我真的不明白为什么有些属性是驼峰式的,有些不是。我能够弄清楚的是,当字典包含键值,其中值是“原始类型”(int、string、DateTime)时,它可以正常工作。但是,当该值是复杂类型(另一个字典,自定义类)时,它不起作用。关于如何使序列化器生成驼峰式密钥有什么建议吗?

c# .net-core .net-core-3.1 system.text.json

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

BsonChunkPool 和内存泄漏

我使用 Mongodb 3.6 + .net 驱动程序 (MongoDb.Driver 2.10) 来管理我们的数据。最近,我们注意到我们的服务(后台)消耗了大量内存。分析转储后,发现有一个名为 BsonChunkPool 的 mongo 对象始终消耗大约 0.5 GB 的内存。正常吗?我真的找不到任何关于这种类型及其实际用途的有价值的文档。有人可以帮忙吗?

mongodb mongodb-.net-driver

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

当用户单击按钮时刷新 Observable 数据

我有一个 Angular 6 组件,其中我有一个网格,它使用异步管道订阅带有项目的 observable。我想要一个按钮,单击该按钮时会刷新该 observable 中的数据。我添加了以下代码:

public refreshData(): void {
   this.details$ = this._service.getDetails();
}
Run Code Online (Sandbox Code Playgroud)

然后,在模板上:

*ngIf="(details$ | async); let d"
Run Code Online (Sandbox Code Playgroud)

所以现在,每次用户单击按钮时,都会执行 refreshData 方法。该代码有效,数据已刷新,但我正在为每次点击创建一个新的可观察对象。有没有更好的方法来处理?

rxjs angular

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