问题列表 - 第4103页

PHP是否具有对象的简短语法?

在javascript中,您可以轻松创建对象和数组,如下所示:

var aObject = { foo:'bla', bar:2 };
var anArray = ['foo', 'bar', 2];
Run Code Online (Sandbox Code Playgroud)

PHP中类似的东西可能吗?
我知道你可以使用数组函数轻松创建一个数组,这几乎不是javascript语法的工作,但有没有类似的语法来创建对象?或者我应该只使用关联数组?

$anArray = array('foo', 'bar', 2);
$anObjectLikeAssociativeArray = array('foo'=>'bla',
                                      'bar'=>2);
Run Code Online (Sandbox Code Playgroud)

总结一下:
PHP是否有像对象创建这样的javascript或我应该只使用关联数组?

php object

35
推荐指数
4
解决办法
2万
查看次数

有moq的问题

我正在尝试moq,我遇到了以下测试体的问题:

var child = new Mock<ZooNode>();
var parent = new Mock<ZooNode>();
child.Object.Parent = parent.Object;
parent.Expect(p => p.Children.Contains(child.Object)).Returns(true);
Run Code Online (Sandbox Code Playgroud)

抛出:

System.ArgumentException:对非可覆盖成员的期望无效:p => p.Children.Contains(value(ZooCms.Core.Tests.Model.ZooNodeTest + <> c__DisplayClass0).child.Object).

我不太确定它的moq,但我测试的代码相当简单.我不确定它是否重要,但ZooNode是一个抽象类.

提前致谢.

编辑

darin的回复建议修改后的代码:

public abstract class ZooNode : ZooObject
{
    private ZooNode _parent{ get; set;}
    public ZooNode Parent { 
        get
        {
            return _parent;
        }
        set
        {
            if(Parent != null) 
                Parent.Children.Remove(value);
            _parent = value;
            _parent.Children.Add(this);
        }
    }
    public virtual IList<ZooNode> Children { get; private set; }

}
Run Code Online (Sandbox Code Playgroud)

它现在抛出

测试方法ZooCms.Core.Tests.Model.ZooNodeTest.TestSetParentAddsNodeToParentNodeList引发异常:System.NullReferenceException:对象引用未设置为对象的实例..

c# unit-testing moq

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

使用TClientDataSet将二进制文件与XML相比有什么区别或优点?

使用带有TClientDataSet的二进制文件或XML文件是否有任何差异或优点.

delphi

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

Android:从相机获取文件名?

我遇到了一些我可能只是忽略的问题.

我想从相机的表面预览中拍摄照片,并将其保存到sd_card.这几乎完美地工作.我为它分配了一个文件名,由于某种原因,它不使用文件名.

这就是我一直在尝试做的事情:

Button imagecapture = (Button) findViewById(R.id.imagecapture);
imagecapture.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        String filename = null;
        ImageCaptureCallback iccb = null;

        try {
            filename = timeStampFormat.format(new Date());
            ContentValues values = new ContentValues();
            values.put(Media.TITLE, filename);
            values.put(Media.DESCRIPTION, "Image capture by camera");

            Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
            iccb = new ImageCaptureCallback(getContentResolver().openOutputStream(uri));
        } catch (Exception ex) {
            ex.printStackTrace();
            Log.e(getClass().getSimpleName(), ex.getMessage(), ex);
        }
        camera.takePicture(mShutterCallback, mPictureCallbackRaw, iccb);
        com.froogloid.android.gspot.Park.imageFileName = filename;
    }
});
Run Code Online (Sandbox Code Playgroud)

它不会使用文件名(即我要求的时间/日期戳.)

camera android file

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

Unix中的信号是什么?

这个评论让我困惑:"kill -l通常列出所有信号".我认为信号意味着量子化的能量.

[已添加]请澄清Unix中的(计算)信号和物理信号.它们是完全不同的概念吗?

[已添加]范例之间是否存在重大差异?C,Python和Haskell等语言的含义是否相同?信号似乎是一个通用术语.

unix operating-system signals

13
推荐指数
4
解决办法
4603
查看次数

为什么Rhino.Mocks和Moq说Bar是一个不可覆盖的成员?

有人可以解释为什么使用最新版本的Moq和Rhino.Mocks框架的两个测试都失败,抱怨Bar不是虚拟/可覆盖的方法:

public interface IFoo
{
    string Bar();
}

public class Foo : IFoo
{
    public string Bar()
    {
        return "Bar";
    }
}

[TestMethod]
public void MoqTest()
{
    var foo = new Mock<Foo>();
    foo.Setup(f => f.Bar()).Returns("abc");
    Assert.AreEqual("abc", foo.Object.Bar());
}

[TestMethod]
public void RhinoTest()
{
    var foo = new MockRepository().PartialMock<Foo>();
    foo.Expect(f => f.Bar()).Return("abc");
    foo.Replay();
    Assert.AreEqual("abc", foo.Bar());
}
Run Code Online (Sandbox Code Playgroud)

如果我将Bar方法声明为虚拟,则两个测试都通过.我不明白为什么我必须将Bar声明为虚拟.它不是已经虚拟了吗?它来自界面.

c# methods virtual rhino-mocks moq

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

如何确定使用反射基类的泛型参数

我有以下结构

public class MyClass : MyBaseClass<System.Int32>
{
}
Run Code Online (Sandbox Code Playgroud)

在静态方法中,如果没有实例化新的MyClass实例,我如何获得用于构建具体基类的泛型参数的类型?例如,在上面的示例System.Int32中

c# generics reflection

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

以"测试模式"打印信息但不在"正常执行"中打印信息

我在c ++中使用一个使用特殊dprintf函数打印信息的应用程序,这是一个例子:

dprintf(verbose, "The value is: %d", i);
Run Code Online (Sandbox Code Playgroud)

我正在做的是当我为测试目的定义详细信息然后我打印信息时,当我正常执行时,我没有定义它,我没有在屏幕上看到无用的信息.我的问题是我该如何实现这一功能或实现相同的想法?

c++ printing testing

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

__construct用于什么功能?

我一直在注意__construct课程.我做了一些阅读和网上冲浪,但我找不到我能理解的解释.我刚刚开始使用OOP.

我想知道是否有人可以给我一个大概它是什么,然后一个简单的例子,它如何与PHP一起使用?

php constructor

194
推荐指数
9
解决办法
22万
查看次数

确保只有一个Perl程序实例正在运行的最佳方法是什么?

有几种方法可以做到这一点,但我不确定哪一种是最好的.

这是我能想到的:

  • 使用pgrep查找进程.
  • 让脚本使用flock锁定自己,然后在每次运行时检查它是否被锁定.
  • 在/var/run/program_name.pid中创建一个pid文件并检查是否存在,并在需要时比较pid.

可能有更多方法可以做到这一点.您认为最好的方法是什么?

perl process mutual-exclusion

24
推荐指数
2
解决办法
4642
查看次数