草庐IT

行为监控

全部标签

c# - 自 .NET 4.0 以来 XAML 绑定(bind)日期时间对象的自动更正行为?

在将应用程序从.NET3.5迁移到.NET4.0时,我遇到了这个特殊问题。(文化是nl-BE)我将这样的TextBox(在XAML中)绑定(bind)到带有PropertyChanged上的UpdateSourceTrigger的DateTime值(LostFocus按预期工作,但需要按类型验证):现在当这个文本框的内容是(例如)10/12/2000并且我想把它编辑成09/03/1981一些令人讨厌的发生自动更正当我将光标放在2000年末并开始“退格”掉年份值时(当只有“2000”的第一个数字(“2”)自动保留该值时-包括光标跳转-再次更改为2002)。我可以禁用此自动更正吗?我似乎找

c# - 使用 JsonConverter 的 Json.NET 自定义序列化 - 如何获得 "default"行为

我的类DataType有一个JsonConverter。当在Json中使用纯字符串作为DataType类型的属性值时,我想做一些特殊处理。在值是“完整”对象的情况下,我想进行“正常”反序列化。这是我的尝试publicoverrideobjectReadJson(JsonReaderreader,TypeobjectType,objectexistingValue,JsonSerializerserializer){if(reader.Value!=null&&reader.ValueType==typeof(string)){returnsomeSpecialDataTypeInsta

c# - 使用 var 或显式类型时模式匹配的不同行为

考虑以下乍一看很荒谬的模式匹配:strings=null;if(sisstringss)//falseif(sisstring)//false两者is都会返回false。但是,如果我们使用var,行为就会完全改变:strings=null;if(sisvarss)//true!?!如果在VS2017中将鼠标悬停在var上,类型是string但的行为是完全不同的。即使推断的类型相同,编译器也会做一些完全不同的事情。怎么会这样?这是一个错误吗?null类型是否以某种方式冒出? 最佳答案 C#语言引用确认行为是有意的。Apatternma

c# - Json.NET - CustomCreationConverter 中单个属性的默认反序列化行为

在以下场景中,当CrazyItemConverter遇到我要反序列化到的类型中存在的JSON属性时,如何让它照常运行?我有一些像这样的JSON:{"Item":{"Name":"Apple","Id":null,"Size":5,"Quality":2}}JSON被反序列化为一个看起来很像这样的类:[JsonConverter(typeof(CrazyItemConverter))]publicclassItem{[JsonConverter(typeof(CrazyStringConverter))]publicstringName{get;set;}publicGuid?Id{ge

c# - List<T>.Enumerator 的 Reset 方法的行为

以下两种方法(一种使用IEnumerator,另一种使用List.Enumerator)即使看起来相同会产生不同的结果。staticvoidM1(){varlist=newList(){1,2,3,4};IEnumeratoriterator=list.GetEnumerator();while(iterator.MoveNext()){Console.Write(iterator.Current);}iterator.Reset();while(iterator.MoveNext()){Console.Write(iterator.Current);}}staticvoidM2(){

c# - Azure 服务总线 ReceiveBatch() 的奇怪行为

目前正在使用Azure服务总线主题,但在使用ReceiveBatch方法接收消息时遇到问题。问题是预期的结果实际上并不是我得到的结果。这是基本的代码设置,用例如下:SubscriptionClientclient=SubscriptionClient.CreateFromConnectionString(connectionString,convoTopic,subName);IEnumerablemessageList=client.ReceiveBatch(100);foreach(BrokeredMessagemessageinmessageList){try{Console.W

c# - Mediatr 3.0 使用管道行为进行身份验证

着眼于使用新的Mediatr3.0功能管道行为进行身份验证/授权。您通常会根据消息或处理程序进行身份验证吗?我问的原因是我对处理程序进行了授权(与MVC中的Controller相同),但行为似乎不了解处理程序,所以我不确定这是否可能/合适。我可以为每条消息添加一个IAuthorisationRequired标记接口(interface),但是如果消息是一个通知/事件并且有多个处理程序,那么也许应该运行一些处理程序而不是其他处理程序。在执行实际工作的处理程序代码上检查身份验证确实感觉更好。希望能够在处理程序上放置一个[Authorize]属性,并使用一个行为来检查它(我目前正是这样做的,

c# - Task.Wait 在 OperationCanceledException 情况下的意外行为

考虑以下代码:CancellationTokenSourcects0=newCancellationTokenSource(),cts1=newCancellationTokenSource();try{vartask=Task.Run(()=>{thrownewOperationCanceledException("123",cts0.Token);},cts1.Token);task.Wait();}catch(AggregateExceptionae){Console.WriteLine(ae.InnerException);}由于MSDN任务应处于Faulted状态,因为它的t

c# - Process.MainWindowHandle 的意外行为

我一直在努力理解Process.MainWindowHandle.根据MSDN;"主窗口是进程启动时创建的窗口。初始化后,可能会打开其他窗口,包括Modal和TopLevel窗口,但与进程关联的第一个窗口仍然是主窗口"(强调已添加)但是在调试时我注意到MainWindowHandle似乎改变了值...这是我没有预料到的,尤其是在查阅了上面的文档之后。为了确认行为,我创建了一个独立的WinForms应用程序,它带有一个计时器,每100毫秒检查一次“DEVENV”(VisualStudio)进程的MainWindowHandle。这是这个测试应用程序的有趣部分...IntPtroldHWn

c# - 获取条码读取器值表单后台监控

我想用C#语言创建一个会计程序。我想使用条形码阅读器在商店中搜索产品(这对我的程序来说是可选的)现在,如果卖家使用条形码阅读器,则在主要形式中获取处理方法或事件的条形码值;如何在处理方法或事件的表单(无文本框)背景中获取条形码值?注意:我的条码阅读器是HID(USB接口(interface)) 最佳答案 条形码设备的行为类似于键盘。当您在文本框中获得焦点时,它会将字符发送到文本框,就像您从键盘输入它们一样。如果您不想使用文本框,则需要订阅键盘事件处理程序来捕获条码流。Form1.InitializeComponent():this.