jjzjj

c# - mvvm 如何使 ListView 自动滚动到 ListView 中的新项目

我正在使用MVVM模式,我有一个创建新ViewModel的View,在用户单击保存后,关闭此View并打开一个显示View模型集合的单独View在ListView中。这个ListView是按字母顺序排列的,所以新的ViewModel可能会出现在ListBox的底部,不是立即可见的给用户。我的问题是如何让View自动滚动到新添加的项目?我想它将使用附加行为,以及ListView上的ScrollIntoView事件,但是我需要从GridView中捕获它的哪个事件我不确定..干杯 最佳答案 此解决方案适用于ListBox,但它可以针对Li

c# - C# 中的 "Abstract"接口(interface)

这是一个学术问题。背后可以说是一个X-Y问题,稍后我可能会单独发布。但我实际上对这里的学术问题特别感兴趣。我经常发现我有一组接口(interface),它们都具有共同的属性。我想定义一个基本接口(interface)来通用化这些接口(interface),部分原因是为了避免重复,部分原因是我可以传递一个对象并在不知道确切类型的情况下使用通用方法。也许我有IFooRepository,IBarRepository等,我可以声明IRepository<TEntity>.或者我有一个IHappyBot,ISadBot,IConfusedBot,所有这些都有IBot共同点。值得注意

c# - Json.NET Serialization Callbacks 中的 StreamingContext 参数有什么用?

我试图了解Json.NET序列化回调中应该包含的StreamingContext参数是什么,首先我以为你会允许我访问正在读取的当前json树,但它似乎并没有,我尝试了JSON对象的可能排列,但没有一个我可以从StreamingContext参数中得到任何东西。这是一个例子,展示了我正在做的事情,如果我错了请纠正我:usingSystem;usingSystem.Runtime.Serialization;usingNewtonsoft.Json;namespaceTestes{publicclassProgram{[JsonObject(MemberSerialization.OptI

c# - C#中的二进制补丁生成

有没有人知道C#中的二进制补丁生成算法实现?基本上,比较两个文件(分别指定为旧文件和新文件),并生成一个补丁文件,该文件可用于升级旧文件以使其具有与新文件相同的内容。实现必须相对较快,并且可以处理大量文件。它应显示O(n)或O(logn)运行时。我自己的算法往往比较糟糕(快速但产生大量补丁)或较慢(产生较小但具有O(n^2)运行时)。任何建议或实现的指针都将是不错的。具体来说,该实现将用于使服务器同步处理我们拥有一个主服务器的各种大型数据文件。当主服务器数据文件更改时,我们还需要更新几台异地服务器。我制作的最幼稚的算法仅适用于可以保存在内存中的文件,如下所示:抓取旧文件的前四个字节,将

c# - C# Web 服务中的加密

我正在寻找一种简单的方法来加密我的C#Web服务中的soap通信。我正在调查WSE3.0但微软似乎放弃了对它的支持,因此使用起来并不简单。WCF似乎是一个选项,但我不想从.NET2.0升级。任何简单、直接的加密方法? 最佳答案 我认为这会有所帮助;去年我们用它来压缩web服务,它表现非常好,我相信它可以通过加密类来增强;CreatingCustomSOAPExtensions-CompressionExtension 关于c#-C#Web服务中的加密,我们在StackOverflow上找

c# - .NET 中的变量新鲜度保证( volatile 与 volatile 读取)

我已经阅读了许多关于volatile和VoletileRead(ReadAcquireFence)的相互矛盾的信息(msdn、SO等)。我理解那些内存访问重新排序限制的含义-我仍然完全困惑的是新鲜度保证-这对我来说非常重要。msdndocforvolatile提及:(...)Thisensuresthatthemostup-to-datevalueispresentinthefieldatalltimes.msdndocforvolatilefields提及:Areadofavolatilefieldiscalledavolatileread.Avolatilereadhas"

c# - Visual Studio 2010 调试器中的上下文变量

对于面向.NET4.0的C#控制台应用程序,我遇到了一个非常奇怪的问题,即局部变量在VisualStudio2010调试器中脱离了上下文。我在SO上搜索了其他类似的问题,但虽然有些问题具有相同的症状,但似乎没有一个直接适用于此问题(它们似乎都有其他根本原因)。问题是对于某些变量(但不是全部)我没有得到带有它们值的工具提示,它们没有出现在本地窗口中,并且我得到“当前上下文中不存在名称‘xyz’"如果我​​将它们添加到Watch窗口。它似乎影响某些变量但不影响其他变量,而且我无法找出一种模式(它似乎不基于成员与本地、类与结构或任何其他区别因素)。我重新启动了我的计算机和VisualStud

c# - .NET Core 2.1 - 循环中的正则表达式比 2.0 慢 200 倍(简单基准测试中为 3 倍)

我有以下正则表达式:varregex=newRegex(@"^ActiveMQ[\d\.-]*$",RegexOptions.Compiled|RegexOptions.IgnoreCase|RegexOptions.CultureInvariant);它运行超过1000个字符串(IsMatch调用)。在.NETCore2.0中,它大约需要10ms。迁移到.NETCore2.1后,它会在2秒上处理相同的数据。知道发生了什么事吗?2.1中有任何行为变化吗?======================更新:BenchmarkDotNet可重现的3倍下降(只需运行,将cspr

c# - 这是 VB.NET 编译器中的错误还是设计错误?

我发现C#和VB编译器在重载解析方面存在差异。我不确定这是错误还是设计使然:PublicClassClass1PublicSubThisBreaks()'Thesework'Foo(OfString)(Function()String.Empty)'Expressionoverload'Foo(String.Empty)'Toverload''Thisbreaks'Foo(Function()String.Empty)EndSubPublicSubFoo(OfT)(ByValvalueAsT)EndSubPublicSub

c# - 从 .NET 中的堆栈帧获取参数值?

我希望能够从.NET中的堆栈帧中获取所有参数值。有点像您在VisualStudio调试器中查看调用堆栈中的值的方式。我的方法集中在使用StackFrameclass然后反射(reflection)过来一个ParameterInfo大批。我在反射和属性方面取得了成功,但这证明有点棘手。是否有实现此目标的方法?到目前为止的代码如下所示:classProgram{staticvoidMain(string[]args){Aa=newA();a.Go(1);}}publicclassA{internalvoidGo(intx){Bb=newB();b.Go(4);}}publicclassB{