问题列表 - 第7662页

Oracle的免费桌面客户端?

哪个是最好的 开源用于查询Oracle数据库的免费客户端?它可能还支持其他数据库(MySQL,Postgres等),因为我们的开发环境通常需要在不同的数据库之间切换.

database oracle desktop-application

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

Groovy:封闭内部'this'的含义

以下示例改编自'Groovy in Action'

class Mother {

    Closure birth() {                            
        def closure = { caller ->
            [this, caller]
        }
        return closure
    }
}                    

Mother julia = new Mother()
closure = julia.birth()                                
context = closure.call(this)                             

println context[0].class.name        // Will print the name of the Script class
assert context[1] instanceof Script 
Run Code Online (Sandbox Code Playgroud)

根据该书,this闭包内部的值是最外层的范围(即julia声明的范围).我是否正确地假设

  • this 在闭包内部是否计算了调用闭包的范围?
  • 在上面显示的闭包内,thiscaller参考相同的范围?

谢谢,唐

groovy closures

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

如何从Perl正则表达式匹配中获得多个记忆?

正则表达式搜索的目的是确定C++头文件中的所有模板类实例.类实例可以形成如下:

CMyClass<int> myClassInstance;

CMyClass2<
int,
int
> myClass2Instacen;
Run Code Online (Sandbox Code Playgroud)

通过将整个文件加载到字符串中来执行搜索:

open(FILE, $file);
$string = join('',<FILE>);
close(FILE);
Run Code Online (Sandbox Code Playgroud)

以下正则表达式用于确定类实例,即使类实例跨越字符串中的多行:

$search_string = "\s*\w[^typename].*<(\s*\w\s*,?\n?)*)>\s*\w+.*";
$string =~ m/$search_string/; 
Run Code Online (Sandbox Code Playgroud)

问题是,即使文件中存在更多类实例,搜索也只返回一个命中.

是否有可能通过使用这种方法从一个正则表达式反向引用变量获得所有命中?

regex perl multiline

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

使用Visual Studio复制文件?

我想创建一个Visual Studio(我正在使用VSTS 2008)项目,它只是简单地进行文件复制工作,更详细地说,我将向该项目添加一些文件,并将此项目复制文件(包含在此项目中)复制到某个目标位置我建立了这个项目.

任何想法如何在VSTS中做到这一点?

BTW:我听说使用proj文件可以完成这样的任务,但我还没有找到任何好的简单学习初学者的样本.:-)

乔治,提前谢谢

msbuild copy file visual-studio-2008

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

VB.NET Switch语句GoTo案例

我在VB.NET中编写了一些使用switch语句的代码,但在其中一种情况下,它需要跳转到另一个块.在C#中,它看起来像这样:

switch (parameter)
{
    case "userID":
        // does something here.
    case "packageID":
        // does something here.
    case "mvrType":
        if (otherFactor)
        {
            // does something here.
        }
        else
        {
            goto default;
        }
    default:
        // does some processing...
        break;
}
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何将其转换为VB.NET.我试过这个:

Select Case parameter 
    Case "userID"
        ' does something here.
    Case "packageID"
        ' does something here.
    Case "mvrType" 
        If otherFactor Then 
            ' does something here. 
        Else 
            GoTo Case Else 
        End If 
    Case Else 
        ' does some processing... 
        Exit Select 
End Select     
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,我得到一个编译错误:"标识符预期"."案例"下有一条波浪线.有任何想法吗? …

vb.net goto switch-statement

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

依赖注入解析和单元测试

我正在尝试学习依赖注入,并在单元测试应用程序时遇到了问题.

我正在编写一个控制台应用程序,并在Main()中创建并初始化容器,它可以作为get-propertyin Program.Container,因此我可以调用我的应用程序中的任何位置Program.Container.Resolve<..>().

我有一个这样的ServiceValidator类:

public class ServiceValidator
{
    private readonly IConfiguration _configuration;
    private readonly IService _service;

    public ServiceValidator(IConfiguration configuration, IService service)
    {
        _configuration = configuration;
        _service = service;
    }
Run Code Online (Sandbox Code Playgroud)

在我使用的另一个课程中

ServiceValidator serviceValidator = Program.Container.Resolve<ServiceValidator>();
serviceValidator.VerifyVersion();
Run Code Online (Sandbox Code Playgroud)

它的调用Program.Container.Resolve导致我在单元测试中出现问题,因为它尚未设置.

这是一个不好的做法,在容器上调用resolve?我可以创建ServiceValidator实例Main()并传递对象,但这似乎很愚蠢,因为它会导致很多参数传递给下一个方法.

所以我想在类中调用Resolve是可以接受的,但是必须为单元测试配置容器.如果我将容器移动到Program类以外的其他地方,我该怎么做?你会推荐什么?

如果重要,我正在使用Unity和C#

谢谢 :-)

.net c# unit-testing dependency-injection ioc-container

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

使用线程和队列时如何处理异常?

如果我有一个使用线程和队列的程序,我如何获得停止执行的异常?这是一个示例程序,不能用ctrl-c停止(基本上是从python文档中删除).

from threading import Thread
from Queue import Queue
from time import sleep

def do_work(item):
    sleep(0.5)
    print "working" , item

def worker():
        while True:
            item = q.get()
            do_work(item)
            q.task_done()

q = Queue()

num_worker_threads = 10

for i in range(num_worker_threads):
     t = Thread(target=worker)
    # t.setDaemon(True)
     t.start()

for item in range(1, 10000):
    q.put(item)

q.join()       # block until all tasks are done
Run Code Online (Sandbox Code Playgroud)

python multithreading exception

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

JBoss数据库连接池

我是jboss的新手,我被要求将jboss连接池机制与现有的Web应用程序结合在一起.考虑到正确编写了Web应用程序数据库层,即所有结果集,语句和连接在不需要时正确关闭,在我正确配置jboss数据源后,我必须在我的Web应用程序中进行所有代码更改.

任何人都可以指向我在Web应用程序中使用jboss数据源的教程或代码示例.

jboss datasource connection-pooling

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

使用AddRange添加子类的集合

如果我有这两个类:

class A {}
class B : A {}
Run Code Online (Sandbox Code Playgroud)

我创建一个List <A>但是我想通过调用List <A> .AddRange(List <B>)向它添加List <B>,但编译器拒绝:

Argument '1': cannot convert from 'System.Collections.Generic.List<A>'
to 'System.Collections.Generic.IEnumerable<B>
Run Code Online (Sandbox Code Playgroud)

我完全理解,因为IEnumerable <B>不从IEnumerable <A>继承,其泛型类型具有继承性.

我的解决方案是枚举List <B>并单独添加项目,因为List <A> .Add(A item)将与B项一起使用:

foreach(B item in listOfBItems)
{
    listOfAItems.Add(item);
}
Run Code Online (Sandbox Code Playgroud)

然而,那是相当不具有表现力的,因为我想要的只是AddRange.

我可以用

List<B>.ConvertAll<A>(delegate(B item) {return (A)item;});
Run Code Online (Sandbox Code Playgroud)

但这是不必要的错综复杂和用词不当,因为我没有转换,我正在施展.

问题:如果我要编写自己的类似List的集合,我将添加哪种方法,这将允许我将B的集合复制到A的集合中,作为类似于List <A> .AddRange(List <B>)保持最大的类型安全性.(并且最大化我的意思是该参数既是集合又是类型的inhertance检查.)

c# iteration inheritance .net-3.5

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

如何定位特定的iPhone版本?

我有一些代码我想只在最新的iPhone SDK(3.0)上执行,但我似乎无法找到一种方法来定位3.0并忽略2.2.1等.有一个ifdef语句,但它似乎覆盖了整个iPhone:

#if TARGET_OS_IPHONE
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

iphone

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