小编Sup*_*JMN的帖子

避免绑定中的转换器

需要否定来自 ViewModel 的值的情况非常常见。我们最终使用了一个类似所谓的“ InverseBoolConverter ”的转换器。

我的问题是:是否有一种方便的方法可以避免使用不涉及更改 ViewModel 的转换器?

注意:我正在使用 ReactiveUI

.net c# wpf system.reactive reactiveui

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

使用 .NET(PowerShell 或 .NET)获取 BCD 条目

我正在创建一个应用程序来分析启动配置数据(BCD)中的条目。

我尝试过使用 PowerShell,但它似乎没有提供任何 cmdlet 来处理它。因此,我又回到了 .NET,特别是 C#。

我想要有东西像这样获取 BCD 条目

var entries = bcd.GetEntries();
Run Code Online (Sandbox Code Playgroud)

条目是IList<BcdEntry>

class BcdEntry
{
    public string Name {get; set; }
    IDictionary<string, IList<string>> Properties { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何获取条目。调用 BCDEdit 是一种可能性,但它需要解析命令的输出,这是一项繁琐的任务。

我希望你能为我的问题想出一个解决方案。

.net c# powershell wmi bcdedit

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

使用 ReactiveUI 按顺序执行一组命令

我有ViewModel一些ReactiveCommands用户可以手动调用的。

CommandA
CommandB
CommandC
Run Code Online (Sandbox Code Playgroud)

因此用户只能调用B,或者先调用A,然后再调用C

问题是我想创建另一个命令来按顺序运行它们,从 A 到 C。它们不应该并行运行,而应该按顺序运行。

我怎样才能对给定的特征进行命令?

.net c# mvvm reactiveui

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

如何将 Visual Studio 安装到可移动驱动器?

我的内部 SSD 太小,无法容纳 Visual Studio,但安装程序不允许我将 VS 安装到可移动驱动器中。

有什么方法(或技巧)来安装它吗?

.net visual-studio

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

XamlType.GetAliasedProperty有什么意义

我试过寻找有关这种方法的信息,但我无法理解它的意义和用途.

这就是MSDN所说的:https: //msdn.microsoft.com/en-us //library/vstudio/system.xaml.xamltype.getaliasedproperty(v=vs.100).aspx

换句话说,有人可以解释它做了什么吗?一些例子?谢谢!

.net wpf xaml

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

依赖排序算法

我有一个像这样的节点列表

{ a, b , c }

它们之间的依赖关系定义为

  • a => { b, c }
  • b => { c }
  • c => { }

该算法应该返回一个排序列表,因此任何给定的节点都应该出现在它的任何依赖项之前。例如,一个有效的解决方案是:{c, b, a}

到目前为止,我有这门课:

public static class DependencySorter
{
    public static ICollection<T> SortDependencies<T>(this IEnumerable<T> nodes) where T : IDependency<T>
    {
        var set = new HashSet<T>();

        foreach (var node in nodes)
        {
            foreach (var dependency in node.Resolve())
            {
                set.Add(dependency);
            }                
        }

        return set.ToList();
    }

    public static ICollection<T> Resolve<T>(this T node) where T : IDependency<T>
    {
        var resolved = …
Run Code Online (Sandbox Code Playgroud)

.net c# java sorting algorithm

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

使用 JSON.NET 在 UWP 中编写 Json 文件

我对 UWP 中的文件处理很陌生,感觉非常复杂。我不知道如何开始。我想到了“边做边学”:我惨败。

目标: 我想将一个对象存储到一个 Json 文件中,到一个众所周知的位置。我的对象是“ MySettings”类型,我想将它保存到"ms-appx:///myconfig.json".

我该怎么做?

另一个问题:这个文件是否可以从我的应用程序外部轻松编辑,就像在经典桌面应用程序中一样?我想过使用文本编辑器编辑设置,以便在不重建我的应用程序的情况下快速更改设置。

.net c# json file uwp

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

使用 iText7 从 PDF 中提取文本。如何提高其性能?

目前,我使用此代码从矩形(区域)中提取文本。

public static class ReaderExtensions
{
    public static string ExtractText(this PdfPage page, Rectangle rect)
    {
        var filter = new IEventFilter[1];
        filter[0] = new TextRegionEventFilter(rect);
        var filteredTextEventListener = new FilteredTextEventListener(new LocationTextExtractionStrategy(), filter);
        var str = PdfTextExtractor.GetTextFromPage(page, filteredTextEventListener);
        return str;
    }
}
Run Code Online (Sandbox Code Playgroud)

它有效,但我不知道这是否是最好的方法。

另外,我想知道 iText 团队是否可以改进 GetTextFromPage 以提高其性能,因为我正在处理数百个大型 PDF 页面,并且使用我当前的配置通常需要 10 多分钟才能完成。

编辑:

来自评论:似乎iText可以一次提取同一页面上多个矩形的文本,可以提高性能(批量操作往往更有效),但是如何?

更多细节!

我的目标是从多页的 PDF 中提取数据。每个页面都有相同的布局:一个包含行和列的表格。

目前,我正在使用上面的方法来提取每个矩形的文本。但是,如您所见,提取不是批处理的。它一次只是一个矩形。如何一次性提取页面的所有矩形?

.net c# pdf itext

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

从 C# .NET (P/Invoke) 调用 IsWowProcess2

我从未在 C# 中创建过 P/Invoke 包装器方法,因为有一种方法可以使用 .NET Framework 类以“托管方式”来实现。

但是,我需要调用 Win32 API 函数,我发现它并不像我想象的那么容易。

IsWowProcess2 中的函数以及从 C++ 调用它的代码在此处说明。

http://www.rudyhuyn.com/blog/2017/12/13/how-to-detect-that-your-x86-application-runs-on-windows-on-arm/

我创建了一个愚蠢的程序来测试它,但当然,它不起作用:

class Program
{
    static void Main(string[] args)
    {
        var result = IsWowProcess2();
    }

    [DllImport("kernel32.dll", CharSet = CharSet.Unicode, ExactSpelling = false, PreserveSig = true)]
    private static extern MyStruct IsWowProcess2();
}

internal class MyStruct
{
    public ushort One { get; set; }
    public ushort Two { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

创建包装方法以及如何调用它的正确方法是什么?

.net c# windows pinvoke winapi

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

正则表达式匹配大括号之间的字符串(允许通过“加倍”转义它们)

我在单大括号内使用提取值中的正则表达式:

(?<!{){[^{}]+}(?!})
Run Code Online (Sandbox Code Playgroud)

但是,它不涵盖用户案例#3(见下文)。

我想知道是否可以定义满足以下用例的正则表达式

用例1

鉴于:

Hola {name}
Run Code Online (Sandbox Code Playgroud)

它应该匹配{name}并捕获名称

但我希望能够在需要时通过将大括号加倍来转义它们,就像 C# 对内插字符串所做的那样。所以,在像这样的字符串中

用例2

Hola {name}, this will be {{unmatched}}
Run Code Online (Sandbox Code Playgroud)

{{unmatched}}部分应该被忽略,因为它使用了doubled。注意{{}}

用例 3

在最后一种最复杂的情​​况下,文本如下:

Buenos {{{dias}}}
Run Code Online (Sandbox Code Playgroud)

文本{dias}应该是一个匹配(并捕获dias),因为第一个最外面的双花括号应该像另一个字符一样解释(它们被转义),所以它应该匹配:{{{dias}}}

我的最终目标是稍后用另一个字符串(例如变量)替换匹配项。

编辑

第四个用例几乎总结了整个需求:

鉴于: Hola {name}, buenos {{{dias}}}

结果是:

  • 比赛1:
    • 匹配文本:{name}
    • 捕获的文本:name
  • 比赛2:
    • 匹配文本:{dias}
    • 捕获的文本:dias

.net c# regex

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

标签 统计

.net ×10

c# ×8

reactiveui ×2

wpf ×2

algorithm ×1

bcdedit ×1

file ×1

itext ×1

java ×1

json ×1

mvvm ×1

pdf ×1

pinvoke ×1

powershell ×1

regex ×1

sorting ×1

system.reactive ×1

uwp ×1

visual-studio ×1

winapi ×1

windows ×1

wmi ×1

xaml ×1