草庐IT

test_key

全部标签

c# - Dictionary<Key, Value> 上 .NET 二进制序列化的奇怪行为

我在.NET的二进制序列化中遇到了一个奇怪的行为,至少符合我的预期。在OnDeserialization回调之后,加载的Dictionary的所有项目都被添加到它们的父级。相比之下,List则采用另一种方式。这在现实世界的存储库代码中可能真的很烦人,例如,当您需要向字典项添加一些委托(delegate)时。请检查示例代码并观察断言。这是正常行为吗?[Serializable]publicclassData:IDeserializationCallback{publicListList{get;set;}publicDictionaryDictionary{get;set;}public

c# - 如何将字符转换为等效的 System.Windows.Input.Key 枚举值?

我想写一个这样的函数,publicSystem.Windows.Input.KeyResolveKey(charcharToResolve){//Codegoeshere,thatresolvesthecharToResolve//intotheKeyenumeratedvalue//(Forexamplewith'.'asthecharacterforKey.OemPeriod)}我知道我可以写一个巨大的Switch-case来匹配角色,但还有其他方法吗?问题是Key枚举的字符串可能与字符不匹配,因此Enum.IsDefined将不起作用有什么想法吗?更新:这是在Windows环境下

c# - GUID 是(临时)加密的好 key 吗?

我正在生成加密key以使用Rijndael(AES)encryptionalgoritm加密一些敏感数据.我正在使用guid作为key生成器。这些key是否足够“强大”?注意:只敏感20分钟。 最佳答案 没有。可以预测GUIDkey,至少是那些由.NET/WinAPI生成的key。还要记住,GUID甚至没有真正的128位随机性,因为版本号是固定的。这首先会为您提供一个非常弱的key。更糟糕的是,GUID算法的多个版本都存在可预测性问题。关键是GUID不是随机创建的,而是遵循一定的规则,使GUID几乎不可能发生冲突。正如评论中所讨论的

C#,NUnit : Is it possible to test that a DateTime is very close, 但不一定等于另一个?

假设我有这个测试:[Test]publicvoidSomeTest(){varmessage=newThing("foobar");Assert.That(thing.Created,Is.EqualTo(DateTime.Now));}例如,这可能会使Thing的构造函数失败,这会花费一些时间。是否有某种NUnit构造允许我指定Created时间不必完全等于DateTime.Now,只要它在一秒之内?是的,我知道构造函数不应该花费太多时间,但只是作为一个例子:p 最佳答案 没试过,但根据thedocs看起来这应该可行:Assert

c# - 单元测试 Asp.Net WebApi : how to test correct routing of a method with [FromUri] parameters

我想测试这个Controller:[HttpGet]publicIListGetNotificationsByCustomerAndId([FromUri]string[]name,[FromUri]int[]lastNotificationID){return_storage.GetNotifications(name,lastNotificationID,_topX);}特别是,在此方法中,我想测试传入输入以形成请求Url的数组是否与进入routeData.Values的数组相同。如果对于单值参数(不是数组)它有效,但不适用于数组。如果我调试Values,我只会看到controll

c# - Entity Framework : field of composite key cannot be nullable?

我有一个带有复合键的模型-行是键:publicclassItem{[Key,Column(Order=0)]publicintUserId{get;set;}[Key,Column(Order=1)]publicDateTime?Date{get;set;}}运行下面的代码会抛出异常DbEntityValidationException消息:TheDatefieldisrequired.:varit=newItem{Date=null,UserId=2};m_Entities.Items.Add(it);m_Entities.SaveChanges();//throwsexceptio

c# - 当我事先不知道 key 时,如何在 C# 中解析 JSON 对象?

我有一些JSON数据,如下所示:{"910719":{"id":910719,"type":"asdf","ref_id":7568},"910721":{"id":910721,"type":"asdf","ref_id":7568},"910723":{"id":910723,"type":"asdf","ref_id":7568}}我如何使用JSON.net解析它?我可以先这样做:JObjectjFoo=JObject.Parse(data);我需要能够遍历此列表中的每个对象。我希望能够做这样的事情:foreach(stringref_idin(string)jFoo["ref_

JavaScript 样式/优化 : String. indexOf() v. Regex.test()

我最近遇到了这段JavaScript代码:if(",>=,,".indexOf(","+sCompOp+",")!=-1)我很感兴趣,因为要编写这个测试我会这样做:if(/(>=|)/.test(sCompOp))这只是风格上的差异,还是其他代码的作者了解一些我不知道的优化知识?或者也许有不同的充分理由这样做,或者不使用正则表达式......?在我看来,为此使用String.indexOf()有点难以阅读(但是,我对正则表达式很满意),但是有没有实例可能比编写等效的正则表达式“更好”?通过可能更快或更有效的“更好”(尽管显然这取决于浏览器的JavaScript引擎)或其他一些我不知道的

javascript - 如何使用 javascript 强制 "enter key"充当 "tab key"?

我正在处理一个充满要填写的表单的网站,我需要在按下退出按钮时将焦点移动到下一个输入控件,就像按“tab”一样。我找到了当keypressed为13时移动焦点的代码,但这需要获取要关注的元素的IDfunctionnoNumbers(e){keynum=e.which;if(keynum==13)document.getElementById("Text2").focus();}我需要一个通用函数,当按键代码为13“thatisenter”时触发按9“thatistab”的默认事件,当然是在Javascript中 最佳答案 这将处理多个

javascript - react native + redux-persist : how to ignore keys (blacklist)?

我正在使用redux-persist存储我的设置,并想忽略其中的一些设置以便在每次重启时重置它们,例如崩溃后。可以将reducer-names数组添加为blacklist或whitelist,但我想忽略特定的键,例如settings.isLoggedIn而不是settings。//...functionconfigureStore(initialState){conststore=createStore(RootReducer,initialState,enhancer);persistStore(store,{storage:AsyncStorage,blacklist:['rout