我有一个返回的方法IEnumerable<KeyValuePair<string, ArrayList>>,但有些调用者要求方法的结果是字典.如何将其IEnumerable<KeyValuePair<string, ArrayList>>转换为Dictionary<string, ArrayList>可以使用的TryGetValue?
方法:
public IEnumerable<KeyValuePair<string, ArrayList>> GetComponents()
{
// ...
yield return new KeyValuePair<string, ArrayList>(t.Name, controlInformation);
}
Run Code Online (Sandbox Code Playgroud)
呼叫者:
Dictionary<string, ArrayList> actual = target.GetComponents();
actual.ContainsKey("something");
Run Code Online (Sandbox Code Playgroud) 如何处理多个ResultSet,每个ResultSet有多个行?NextResult()打破while循环的调用.
我的一些SP返回多个ResultSet.我正在处理这些,NextResult()但是当我这样做并且我的SP只有一个ResultSet时,我看到带有Read()的while循环完成后只剩下第一行.
没有调用NextResult()我得到第一个ResultSet的所有行,但当然第二个和后续的ResultSet不会被处理?
using (IDataReader reader = storedProcedure.ExecuteReader(
CommandBehavior.CloseConnection, parameterNames as string[], arguments))
{
while (reader.Read())
{
ArrayList row = new ArrayList();
for (int j = 0; j < reader.FieldCount; ++j)
{
object rowValue = reader.GetValue(j);
row.Add(rowValue);
}
reader.NextResult();//next resultset, breaks out of the while
}
}
Run Code Online (Sandbox Code Playgroud) 当我的JSON数据在静态文件中时,我的jqGrid工作,但是如果我将数据复制到var然后尝试将var加载到jqGrid的url中,它就不会显示.
你能把字符串传递给jqGrid吗?
这样可行:
function GetJSON() {
var jsonFile = "EntityWithChildren.json";
return jsonFile;//returning a file works fine.
}
$("#jsonmap").jqGrid({
url: GetJSON(),
datatype: 'json',
Run Code Online (Sandbox Code Playgroud)
这不是:
function GetJSON() {
var json = '{"page":"1","total":"10", "records":"10", "Entities": [ {"Fields":["Entity1", "field1", "11"]}, {"Fields":["", "field2", "22"]}, {"Fields":["Entity2", "field3", "33"]}, {"Fields":["ChildEntity1", "cfield1", "111"]} ]}';
return json; //doesnt work
}
$("#jsonmap").jqGrid({
url: GetJSON(),
datatype: 'json',
//datatype: 'jsonstring',//this doesnt work either
Run Code Online (Sandbox Code Playgroud) 我很难找到有关stateSaver/savedState Dictionary如何为Windows Installer工作的文档,在Install和UnInstall覆盖中,有人可以提供帮助.
在我的安装程序CustomAction中,我一直在写入注册表项,每次我都会向stateSaver添加一些细节.我曾经假设在卸载时考虑到这一点但是如何?
我认为在安装时会将stateSaver字典写入文件,在卸载时会读取该文件的内容,读取.InstallState并用于安装它找到的条目.
我的问题是卸载后仍然存在一些注册表项,我不知道为什么以及我对字典如何工作缺乏了解并没有帮助.
这是Install正在做的事情的一个例子
RegistryKey expressionEvaluatorVersionKey = expressionEvaluatorKey.CreateSubKey(packageVersion);
Run Code Online (Sandbox Code Playgroud)
这是为Windows Installer添加的密钥创建子密钥.如何在卸载中删除此子密钥?
即使版本号未更改,如何启用更新?
我正在开发一个Nuget程序包。我们尚处于测试/测试的早期阶段。在测试完成之前,我们不会更改版本,但是我们希望将更改后的软件包传递给测试。但是,程序包管理器看不到更改,允许更新,除非版本已更改,否则我可以重新安装,但我希望测试人员能够更新。
在版本号保持不变的情况下该怎么做?
我们一直在使用x-ua-compatiblehtml中的元标记IE来强制客户端IE-9.
这不再有效吗?
本文将建议不会忽略元标记并强制使用新Edge模式.
你如何防止基类构造函数被 Moq 调用?
我无法使用 Moq 模拟对象,因为正在调用基类构造函数并且它需要真实对象,因此我想停止调用基类构造函数。
var parametersMoq = new Mock<MyDerivedClass>(null, "Params", null){ CallBase = false, };
_storedProcedureAccessor._parameters = parametersMoq.Object;
Run Code Online (Sandbox Code Playgroud)
MyDerivedClass 的基类构造函数给我带来了问题。
这两个表达式做同样的事情但哪一个更安全甚至更有效?
var indexedCellValue = selectedCell.srcElement.parentElement.cells[index].innerText;
var indexedCellValue = $(selectedCell.srcElement).parent('tr').get(0).cells[index].innerText;
Run Code Online (Sandbox Code Playgroud)
(获取单元格,selectedCell,父行和索引到该父行的列.)
有没有办法减慢客户端(浏览器)的响应速度?
我们的一位测试人员可以在他的机器上重现缓慢.他的机器规格足够低,与许多真正的客户相似.我们有一个胖客户端,javascript很重,很多事件处理.我们担心可能会出现回归,但它在开发者机器上无法解释.
问题是输入控件上的文本输入,应用程序周围的选项卡似乎会延迟,文本输入有时会省略用户键入的第一个字符.
开发无法重现,有没有办法减慢客户端或浏览器的速度?
对于这个嘲弄的事情来说,我有几个问题.
如果我错了,请纠正我:Mocking没有初始化真正的方法,即Mocking实际上不会调用你的类的构造函数.相反,它会像查看类的签名并创建具有该签名但没有任何方法功能的对象.如果您只需要该类型的对象但不想测试它的内部结构,例如,如果您实际测试的对象具有依赖性,则此选项非常有用.
我正在尝试测试方法的内部,这是否意味着我必须创建该方法所属的类的实例?
我似乎无法找到CDN版本的"最新"knockoutjs库,类似于这种风格 http://code.jquery.com/jquery-latest.min.js
(我要求这个用于自动化测试,我意识到使用最新版本的潜在缺陷).
在RhinoMocks或Moq中,可以在调用构造函数之前设置对象的属性吗?
我正在尝试测试一种方法.
包含该方法的类在其构造函数中有一些代码依赖于某些成员被设置,遗憾的是构造函数中没有用于设置它们的参数,因此我必须通过属性设置它们.有没有办法在RhinoMocks或Moq中调用构造函数之前设置此属性?
javascript ×4
c# ×3
moq ×3
unit-testing ×3
jquery ×2
mocking ×2
rhino-mocks ×2
cdn ×1
client ×1
collections ×1
datareader ×1
dictionary ×1
idictionary ×1
ienumerable ×1
installation ×1
installer ×1
jqgrid ×1
json ×1
knockout.js ×1
performance ×1
windows-10 ×1