小编Pon*_*gge的帖子

StructureMap单例用法(一个实现两个接口的类)

public interface IInterface1
{
}

public interface IInterface2
{
}

public class MyClass : IInterface1, IInterface2
{
}

...

ObjectFactory.Initialize(x =>
{
    x.For<IInterface1>().Singleton().Use<MyClass>();
    x.For<IInterface2>().Singleton().Use<MyClass>();
});

var x = ObjectFactory.GetInstance<IInterface1>();
var y = ObjectFactory.GetInstance<IInterface2>();
Run Code Online (Sandbox Code Playgroud)

我用上面的代码得到了两个不同的MyClass实例.我该怎么办?

c# structuremap singleton

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

如何向下转换Java对象?

我试图理解Java的多态性,我有一个关于向下转换对象的问题.让我们说这个例子我有两个继承自超类Animal的子类Dog和Cat

根据我的理解,向下转换对象的唯一方法是,如果此Object已经是好的类型,如下所示:

Animal a = new Dog();
Dog d = (Dog) a;
Run Code Online (Sandbox Code Playgroud)

这样可行吗?

但是如果我想在不知道它会是什么的情况下创造一个普通的动物,然后在我知道的时候施放它,我该怎么办呢?

Animal a = new Animal();
Dog d = (Dog) a;
Run Code Online (Sandbox Code Playgroud)

这会在运行时抛出ClassCastException吗?

我发现这样做的唯一方法是创建一个新的Dog构造函数,从常规动物创建一个狗:

Animal a = new Animal();
Dog d = new Dog(a);
Run Code Online (Sandbox Code Playgroud)

public Class Dog extends Animal{
   public Dog(Animal a){
      super(a);
   }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,我该怎么做呢?

  • 我这样做是最好的方式吗?
  • 我根本不应该这样做,如果我必须这样做意味着我的计划没有很好地构思?
  • 我错过了更好的方式吗?

非常感谢!nbarraille

java oop inheritance downcast

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

是否可以基于正则表达式模式生成示例字符串?

在我的应用程序中,用户可以将自己的正则表达式模式输入到文本框中,这样他就可以强制为另一个用户/文本框输入特定的输入.用户是否可以查看与他输入的正则表达式匹配的字符串示例?例如,如果他要输入:^[A-Z]{2}$,它将生成一个类似" XX" 的字符串,以向用户显示他只能输入两个大写字母.

如果没有简单的方法来实现这一点(我认为没有),那么构建有多难?或者这样的事情已经存在?

c# regex string

14
推荐指数
2
解决办法
5044
查看次数

BeginInvoke抛出异常

我有以下问题.FindRoot实际上是在第三方DLL中,我无法控制它.它必须通过Begin调用来调用.有时,FindRoot方法会抛出异常.这导致我的整个应用程序崩溃.现在,即使FindRoot抛出异常,如何防止我的应用程序崩溃.

delegate void AddRoot(double number);
public static void FindRoot(double number)
{
    throw new Exception();/// sometimes is thrown.

}

static void back_DoWork(object sender, DoWorkEventArgs e)
{
    AddRoot root = FindRoot;
    root.BeginInvoke(12.0, root.EndInvoke, root);

}
Run Code Online (Sandbox Code Playgroud)

c# delegates

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

为什么要创建抽象类和接口?

好吧,我打算问一下有什么区别,但之前已经回答了.但现在我问他们为什么会产生这些差异呢?(我在这里讲的是java,我不知道是否同样适用于其他语言)

这两件事看起来非常相似.抽象类可以定义方法体,而接口则不能,但可以继承多个接口.那么他们为什么不(他们'我们的意思是Sun,当他们编写Java时)做了一件事情,你可以编写一个方法体,这种类型可以被一个类不止一次地继承.

没有能够编写方法体,或者延伸多次,我没有看到它有什么优势吗?

java abstract-class interface multiple-inheritance

8
推荐指数
2
解决办法
2007
查看次数

使用专用版本覆盖多个继承的模板化函数

好的,首先是示例代码; 这是我尝试传达我正在尝试做的事情,尽管它没有编译:

#include <iostream>

template <class T>
class Base
{
public:
    virtual void my_callback() = 0;
};

class Derived1
    : public Base<int>
    , public Base<float>
{
public:
    void my_callback<int>()
    {
        cout << "Int callback for Derived1.\n";
    }
    void my_callback<float>()
    {
        cout << "Float callback for Derived\n";
    }
};

class Derived2
    : public Base<int>
    , public Base<float>
{

public:
    void my_callback<int>()
    {
        cout << "Int callback for Derived2.\n";
    }
    void my_callback<float>()
    {
        cout << "Float callback for Derived2\n";
    }

};

int …
Run Code Online (Sandbox Code Playgroud)

c++ templates overriding multiple-inheritance specialization

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

支持自定义PowerShell cmdlet的Get-Help

我在C#中创建了一些自定义PowerShell Cmdlet,并希望提供一些使用get-help cmdlet显示的信息.例如"get-help my-cmdlet".

我创建了一个从PSSnapIn派生的基本snapin,并重写了Description,Name和Vendor属性.我还创建了我的帮助文件"Cmdlets.dll-Help.xml".Cmdlets.dll是此处指示的程序集的正确名称.

我创建了以下脚本来快速测试这个帮助:

$ErrorActionPreference = "Stop"
$scriptFolder = Split-Path $script:MyInvocation.MyCommand.Path

$dll = ($scriptFolder + "\Release\x64\Cmdlets.dll")
Write-Host "Testing Cmdlets in $dll" -fore Green

[System.Reflection.Assembly] $assembly = [System.Reflection.Assembly]::LoadFrom($dll)
Import-Module -assembly $assembly

get-help get-latestfiles
Run Code Online (Sandbox Code Playgroud)

这似乎只是提供了一些关于cmdlet参数的默认帮助,但未能获得我在XML文件中编写的任何示例.有没有人对这是为什么有任何想法?

.net c# powershell

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

如何使用java代码锁定android中的文件?

我想锁定android的sdcard上的文件.我需要锁定它们,所以除了我的软件之外没有人可以删除复制移动或​​通过蓝牙或任何其他方式发送它们.我该怎么做?

java android locking file

5
推荐指数
3
解决办法
7535
查看次数

检索权限列表

我正在尝试检索设备中应用的权限.

奇怪的是,对于某些应用程序,我确实得到了结果,而在其中一些应用程序中,我无法检索任何权限.

也许为了获得应用程序的权限列表,应用程序必须设置一些特定的标志?因为如果我尝试以这种方式获取我的应用程序的权限列表:

PackageManager p = context.getPackageManager();
PermissionInfo[] z=p.getPackageInfo("com.test.myapp",PackageManager.GET_PERMISSIONS).permissions);
Run Code Online (Sandbox Code Playgroud)

z是的null,但对于一些应用程序(系统应用程序等)我得到一些列表.

任何的想法?

谢谢,moshik.

permissions android

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

如何在某些类中查看可能的异常列表.(C#.NET)

我有很多用C#.NET编写的类,我需要知道它们可以抛出哪些异常.我如何在Visual Studio 2005中完成它.

.net c# visual-studio-2005 exception

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