问题列表 - 第12233页

Josh Smith在MVVM中的CommandViewModel有什么意义?

我正在浏览Josh Smith的MVVM示例,我注意到他定义了一个名为CommandViewModel的基本视图模型,并通过他的演示应用程序查看,我只是看不到它的重点.

wpf mvvm

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

实现IConvertible.GetTypeCode

我知道,我在挑剔.但是当在仅包含布尔值(因此只有两个状态)的结构上实现IConvertible接口时,建议的返回值是IConvertible.GetTypeCode()多少?该结构是可隐式转换的,与布尔值相当,除了字符串和XML表示之外几乎所有方面,它实际上都是一个布尔值.

如果我回来的话,我觉得我对框架撒谎,TypeCode.BooleanTypeCode.Object似乎不必要地含糊不清.在您自己的结构中实现此方法有任何实际后果吗?

MSDN上的IConvertible.GetTypeCode

.net

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

我如何在OCMock中模拟一个接受句柄作为参数的方法?

我正在尝试模拟一个具有以下签名等效方法:

- (NSDictionary *) uploadValues:(BOOL)doSomething error:(NSError **)error
Run Code Online (Sandbox Code Playgroud)

我希望它返回一个小字典,以便我的测试可以确保代码正确使用字典.但是,无论我做什么,OCMock总是从方法中返回nil,无论我如何将其存根.错误在我正在测试的代码中以nil开头,这些是我尝试将其存根的不同方式:

NSError * error = nil;
[[[mock stub] andReturn:someDict] uploadValues:YES error:&error];

[[[mock stub] andReturn:someDict] uploadValues:YES error:nil];

[[[mock stub] andReturn:someDict] uploadValues:YES error:[OCMArg any]];
Run Code Online (Sandbox Code Playgroud)

并且它们都不起作用.OCMock是否支持处理作为存根消息参数,如果是,那么正确的方法是什么?

unit-testing mocking objective-c handle ocmock

18
推荐指数
2
解决办法
6110
查看次数

使用SUM使列中的NULL变为NULL

我有一个列组INTEGER NULL的表.它有价值

5
7
<NULL>

如果我从table_name中选择sum(groups),
我会得到12.当被求和的列为空时,我怎么能得到null.

mysql database postgresql

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

Android发送Intent将sdcard中的照片附加为0长度文件

我知道这个问题的一个变体在尝试附加文件从SD卡到电子邮件之前被问到 但是提供的解决方案,即重启似乎不适合我.我看到很多小组发帖都支持这个问题.我只能假设链接到问题的OP进行了一些其他更改,可能是允许其代码工作的清单.

我看到的行为是电子邮件意图处理来自SD卡的jpeg附件,但处理它作为0长度文件,在发送时被丢弃.我已经尝试过setType作为jpeg/image和image/jpeg,因为我看到它表达了两种方式.

Intent sendIntent = new Intent(Intent.ACTION_SEND);
    sendIntent.setType("jpeg/image");
    sendIntent.putExtra(Intent.EXTRA_EMAIL, "me@gmail.com");
    sendIntent.putExtra(Intent.EXTRA_SUBJECT, R.string.email_subjectStart + 
            mWhatYouSpotted.getSelectedItem().toString() +
            R.string.email_subjectEnd);
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+ sPhotoFileName));
    sendIntent.putExtra(Intent.EXTRA_TEXT, sEmailBody);

    startActivity(Intent.createChooser(sendIntent, "Email:"));
Run Code Online (Sandbox Code Playgroud)

这是我上次测试时得到的adb logcat:

V/DumbDumpersMain(3972):sPhotoUri = file://sdcard/DumbDumpers/DumbDumper.jpg I/ActivityManager(56):开始活动:Intent {action = android.intent.action.CHOOSER comp = {android/com.android. internal.app.ChooserActivity}(有额外的)} I/ActivityManager(56):开始活动:Intent {action = android.intent.action.SEND type = jpeg/image flags = 0x3000000 comp = {com.google.android.gm /com.google.android.gm.ComposeActivityGmail}(有附加内容)} I/ActivityManager(56):开始活动:Intent {action = android.intent.action.SEND type = jpeg/image flags = 0x2800000 comp = {com. google.android.gm/com.google.android.gm.ComposeActivity}(有附加内容)} D/gmail-ls(120):MailProvider.query:content://gmail-ls/labels/me@gmail.com( null,null)D/Gmail(2507):URI FOUND:file://sdcard/DumbDumpers/DumbDumper.jpg

我一直在用这个问题敲打一个星期超过一个星期,但仍无法确定是什么问题.有任何想法吗?

email android android-intent

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

IE8本机JSON.parse错误导致堆栈溢出

TL; DR:向Array.prototype和Function.prototype添加任何非内置函数将导致IE8本机JSON解析器在解析包含数组的任何JSON时获得堆栈溢出,但仅当您还传递了reviver函数时进入JSON.parse().

这开始是一个问题,但我回答了我自己的原始问题,所以现在我会问:任何人都可以想到这个IE8错误的解决办法,不涉及删除修改Array.prototype和Function的所有JS库.原型?

原始问题:

我有大约13k的JSON数据要解析.数据的结构是具有单个值的对象,该值是嵌套数组.

{ 'value':[[ stuff ], [ more stuff], [ etc ]] }
Run Code Online (Sandbox Code Playgroud)

我正在使用json2.js,它在可用时遵循浏览器本机JSON.parse.我正在将一个reviver函数传递给JSON.parse来正确处理日期.当IE8处于IE7仿真模式(导致它使用基于脚本的json2.js解析器)时,一切正常.当IE8处于IE8模式(导致它使用浏览器本机JSON解析器)时,它会出现"堆栈空间不足"错误.当然,Firefox和Chrome可以与浏览器原生的JSON解析器一起使用.

我把它缩小到这个:如果我将一个do-nothing reviver函数传递给JSON.parse,那么IE8本机解析器会获得堆栈溢出.如果我传入没有reviver函数,IE8本机解析器工作正常,除了它不能正确解析日期.

// no error:
JSON.parse(stuff);

// "out of stack space" error:
JSON.parse(stuff, function(key, val) { return val; });
Run Code Online (Sandbox Code Playgroud)

我将使用我的JSON数据,看看数据的更少或更少的嵌套可以避免错误,但我想知道是否有人之前已经看过这个,或者有任何其他建议的解决方法.IE8已经足够慢了,因为这个bug而禁用该浏览器的原生JSON将是一种耻辱.

更新:在其他情况下,使用不同的JSON数据,当我使用具有reviver功能的IE8本机解析器时,我收到javascript错误"$ lineinfo is undefined",如果我不使用reviver函数则没有错误.字符串"$ lineinfo"不会出现在我的任何源代码中的任何位置.

更新2:实际上,这个问题似乎是由Prototype 1.6.0.3引起的.在我添加到Prototype库之前,我无法在隔离的测试页面中重现它.

更新3:

prototype.js打破IE8原生JSON解析器的原因是:向Array.prototype和Function.prototype添加任何非内置函数将导致IE8本机JSON解析器在解析包含数组的任何JSON时获得堆栈溢出,但只有当你还将一个reviver函数传递给JSON.parse()时.

Prototype库为Array.prototype和Function.prototype添加了函数,但这同样适用于执行相同操作的任何其他库.IE JSON解析器中的这个错误由​​Prototype和Ext公开,但不是jQuery.我还没有测试过任何其他框架.

这是一个完全独立的问题再现.如果删除Function.prototype行或Array.prototype行,或从JSON字符串中删除该数组,则不会出现"堆栈空间不足"错误.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
<script type="text/javascript">

Function.prototype.test1 = function() { };
Array.prototype.test2 = function() { };

window.onload = function()
{
    alert(JSON.parse('{ "foo": …
Run Code Online (Sandbox Code Playgroud)

json internet-explorer-8

32
推荐指数
2
解决办法
3万
查看次数

如何获取物理会话的当前用户令牌?

我有一些代码,我正在尝试获取当前会话用户令牌:

#include <Wtsapi32.h>

DWORD activeSessionId = WTSGetActiveConsoleSessionId();

HANDLE currentToken;
BOOL queryRet = WTSQueryUserToken(activeSessionId, &currentToken);

if (!queryRet) {
    DWORD err = GetLastError();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误的价值是1314.

更新1

到目前为止没有运气,试图授予当前进程SE_TCB_NAME - 但仍然从WTSQueryUserToken(1314)获得相同的错误.

HANDLE process = GetCurrentProcess();

HANDLE processToken;
BOOL openTokenRet = OpenProcessToken(
    process, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &processToken);

if (!openTokenRet)
{
    DWORD err = GetLastError();
    return 0;
}

TOKEN_PRIVILEGES tokenPrivs;
BOOL lookupRet = LookupPrivilegeValue(
    NULL, SE_TCB_NAME, &tokenPrivs.Privileges[0].Luid);

if (!lookupRet)
{
    DWORD err = GetLastError();
    return 0;
}

tokenPrivs.PrivilegeCount = 1;
tokenPrivs.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

BOOL …
Run Code Online (Sandbox Code Playgroud)

winapi wtsapi32

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

在.NET中将结构转换为字节数组

我希望使用My.Computer.FileSystem.WriteAllBytes等将由固定长度字符串组成的结构写入文件.

我使用的VB6项目具有固定长度的字符串,我已将其转换为VB.Net.

    Structure Record
        <VBFixedString(22),System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray,SizeConst:=22)> Public tim() As Char
        <VBFixedString(130),System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray,SizeConst:=130)> Public des() As Char
        <VBFixedString(2),System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray,SizeConst:=2)> Public crlf() As Char
    End Structure
Run Code Online (Sandbox Code Playgroud)

在C#中编组仍然是新手,但是我如何将这个结构转换为一个字节数组来写入文件.是否有一些编组技巧或我是否必须编写自定义方法?

vb.net bytearray marshalling

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

如何测试目录是否隐藏在C#中?

我有这个循环:

  foreach (DirectoryInfo dir in downloadedMessageInfo.GetDirectories())
        {
            if (dir.Attributes != FileAttributes.Hidden)
            {
                dir.Delete(true);
            }
        }
Run Code Online (Sandbox Code Playgroud)

如何正确跳过所有隐藏目录?

.net c#

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

如何实现自定义控制的目标 - 动作机制?

我将编写自己的自定义控件,它与UIButton非常不同.这是多么不同,我决定从头开始编写它.所以我的子类都是UIControl.

当我的控制被内部触及时,我想以目标动作的方式发出消息.该类的用户可以实例化它,然后为此事件添加一些目标和操作.

即想象我会在内部调用一个方法-fireTargetsForTouchUpEvent.我怎样才能在班上维护这个目标 - 行动机制?我是否必须将所有目标和操作添加到我自己的数组中,然后在for循环中调用目标对象上的选择器(操作)?或者有更聪明的方法吗?

我想提供一些方法来为某些事件添加目标和动作,比如触摸事件(我在发生这种情况时通过调用内部方法手动提升).任何的想法?

iphone cocoa-touch uikit

16
推荐指数
3
解决办法
8839
查看次数