问题列表 - 第28100页

关于NPE和单线多表达式的最佳实践

我想知道是否可以接受的做法是避免就可能的NPE在同一条线路上进行多次呼叫,如果是这样,在什么情况下也是如此.例如:

anObj.doThatWith(myObj.getThis());
Run Code Online (Sandbox Code Playgroud)

VS

Object o = myObj.getThis();
anObj.doThatWith(o);
Run Code Online (Sandbox Code Playgroud)

后者更冗长,但如果有NPE,你会立即知道它是什么null.但是,它还需要为变量和更多import语句创建名称.

所以我的问题是:

  • 这个问题值得设计吗?第一种或第二种可能性更好吗?
  • 变量名称的创建是否具有性能效果?
  • 是否有建议更改异常消息,以便能够确定nullJava的未来版本中的对象是什么?

java nullpointerexception

2
推荐指数
1
解决办法
232
查看次数

在创建时更改对话框的样式以覆盖 .RC 模板中的内容

我有一个使用 VS2005 中的资源编辑器创建的小对话框。它将以两种不同的方式用作另一个对话框的子对话框...要么作为像自定义控件一样位于对话框顶部的子对话框,要么作为可以移动到父窗口边界之外的弹出窗口。如果我修改 RC 文件中的单个样式,这两个样式都会按预期工作 - 只需用 WS_POPUP 替换 WS_CHILD 即可进行切换:

IDD_WIDGET DIALOGEX 0, 0, 221, 78
STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | DS_CONTROL | WS_POPUP | WS_BORDER
EXSTYLE WS_EX_TOOLWINDOW | WS_EX_STATICEDGE
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
    PUSHBUTTON      "Pre&view",IDC_ACTION_PREVIEW,64,59,50,15
    PUSHBUTTON      "M&ore",IDC_ACTION_MORE,115,59,50,15
    PUSHBUTTON      "S&elect",IDC_ACTION_SELECT,168,59,50,15
END
Run Code Online (Sandbox Code Playgroud)

问题是,我希望能够在运行时创建子对话框作为一种小部件类型框架时选择行为,例如覆盖 RC 文件样式

我试过:

BOOL CMyDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    m_Widget.Create(IDD_WIDGET,this);
    DWORD oldstyle = m_Widget.GetStyle();
    m_Widget.ModifyStyle(WS_POPUP,WS_CHILD);
    DWORD newstyle = m_Widget.GetStyle();
}
Run Code Online (Sandbox Code Playgroud)

但我可以看到,除了 GetStyle 的结果从 更改为0x8400044C...0x4400044C小部件子对话框开始不可见之外,没有什么区别,但当我显示它时,它保留了 WS_POPUP 行为。

出了什么问题,如何修复?

正如Ben建议的那样,我想知道这是否是在创建窗口后 …

winapi mfc

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

PHP5:限制对某些类的函数访问

PHP5中是否有一种方法只允许某个类或一组类调用特定的函数?例如,假设我有三个类("Foo","Bar"和"Baz"),都有类似命名的方法,我希望Bar能够调用Foo::foo()但拒绝Baz 进行调用的能力:

class Foo {
    static function foo() { print "foo"; }
}

class Bar {
    static function bar() { Foo::foo(); print "bar"; } // Should work
}

class Baz {
    static function baz() { Foo::foo; print "baz"; } // Should fail
}

Foo::foo(); // Should also fail
Run Code Online (Sandbox Code Playgroud)

在Foo,Bar和Baz之间不一定存在继承,因此使用protected或类似的修饰符将无济于事; 然而,这些方法不一定是静态的(为了简化示例,我在这里做了它们).

php oop access-modifiers restriction

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

如何使用javascript将网页作为纯文本而不使用任何html?

我试图找到一种方法使用javascript或jquery编写一个函数,从页面中删除所有的html标签,只是给我这个页面的纯文本.

怎么做到这一点?有任何想法吗?

html javascript jquery

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

使用 c Sharp 删除图像纯色背景

我正在尝试查找一些有关“自动”删除图像背景(如果可能)的信息。NET。

实际上我找不到太多数据,而且我不知道这是否可能或者是否有可用的 API 组件。

有任何想法吗?

.net c# image-processing

2
推荐指数
1
解决办法
4510
查看次数

在iPad的Safari中纠正背景缩放的方法?

我有一个网站在div容器中使用巨大的背景图像(2000x1500)(100%x 100%).

当我在iPad上的Safari上打开该网站时,它的缩小比例(~40%)与内容的比例不同(约80%).

我将背景移动到div中的img-tag,宽度为100%,高度为100%,溢出设置为"hidden".完全相同的情况发生.

是否有CSS设置可以帮助Safari以与内容相同的比例缩小背景图像?

css safari background ipad

25
推荐指数
2
解决办法
6万
查看次数

如何在C#中从TCP服务器发送\ recive SslStream?

如何在C#中从TCP服务器发送\ recive SslStream?我需要一个关于TCP流保护的简单教程,使用套接字,SSLStreams和简单的TCP listrning服务器......有没有这样的教程?请帮忙

.net c# sockets ssl tcp

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

printf,sprintf打印至少两位小数

我试图弄清楚如何使用sprintf打印至少两个小数位并且没有前导零.例如

输入:

23
23.0
23.5
23.55
23.555
23.0000
Run Code Online (Sandbox Code Playgroud)

输出:

23.00
23.00
23.50
23.55
23.555
23.00
Run Code Online (Sandbox Code Playgroud)

任何格式化帮助将不胜感激

formatting printf

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

如何在Ruby中访问原始命令行参数字符串?

我正在尝试访问Ruby中的原始命令行参数字符串(即 - 不使用预拆分/分离的ARGV数组).有谁知道如何做到这一点?例如:

$> ruby test.rb command "line" arguments
Run Code Online (Sandbox Code Playgroud)

我希望能够判断'line'是否有引号:

"command \"line\" arguments"
Run Code Online (Sandbox Code Playgroud)

有小费吗?提前致谢

ruby command-line-arguments

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

填充在选择列表中的Safari和IE中不起作用

有没有人知道为什么我的Safari没有选择列表中的填充?它在FF工作正常,请告诉我该怎么做.doctype有什么问题吗?

码:

<select style="padding-left:15px">
<option>male></option>
<option>female></option>
</select>
Run Code Online (Sandbox Code Playgroud)

我正在使用以下doctype;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Run Code Online (Sandbox Code Playgroud)

html css

17
推荐指数
3
解决办法
4万
查看次数