问题列表 - 第31971页

多重继承不能在C#中支持.为什么?

可能重复:
C#中的
多重继承在dotnet中不支持多重继承.但多个接口支持?

c#可以支持单继承.它只使用接口.但为什么它不能支持多重继承.....

.net-3.5

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

如何避免if ... else和switch case

我一直在编程很多时间.通常我用PHP,ASP.net,Java,JavaScript等语言编程.在所有语言中,我必须使用很多if else语句.就像值= 10然后......如果我查看我的代码然后我发现很多if条件.所以我想尽量减少它们但不确定.

有一点是使用了有些最小化的类但仍然更多......

像任务,猫,秒和类型:

if task = 'add' then
   if cat = "animal" then
      if sec = "man" then
          if type = "male" then
                 'do the following stuffs
          else
                 'do the following stuffs
          end if
      elseif sec = "horse" then
          if type = "run"
                 'do the following stuffs
          else
                 'do the following stuffs
          end if
      elseif....
      end if
   elseif cat = "plant" then
     if sec = "land" then
          if type="tree" then
                 'do the following stuffs
          elseif type = "grass" …
Run Code Online (Sandbox Code Playgroud)

vb.net algorithm programming-languages

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

由enum生成的Visual Studio 2010 Switch语句

是否有任何方法可以通过枚举生成switch语句?

例如,如果我有大枚举并且我有带参数枚举的方法,那么我需要为每种情况编写switch语句,但是有没有办法通过枚举生成这个switch语句?

如果我有很多其他枚举,如果我的枚举范围很广,如果我有10-100个方法,不同的枚举参数,那么切换编码就变成了地狱.

也许创建t4模板是个好主意,无论如何我很高兴听到有关枚举开关生成的任何建议.

寻找没有任何其他软件如Resharper的解决方案.

visual-studio-2010

21
推荐指数
2
解决办法
8440
查看次数

右移算子的奇怪行为(1 >> 32)

我最近使用右移运算符遇到了一种奇怪的行为.

以下程序:

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <stdint.h>

int foo(int a, int b)
{
   return a >> b;
}

int bar(uint64_t a, int b)
{
   return a >> b;
}

int main(int argc, char** argv)
{
    std::cout << "foo(1, 32): " << foo(1, 32) << std::endl;
    std::cout << "bar(1, 32): " << bar(1, 32) << std::endl;
    std::cout << "1 >> 32: " << (1 >> 32) << std::endl; //warning here
    std::cout << "(int)1 >> (int)32: " << ((int)1 …
Run Code Online (Sandbox Code Playgroud)

c c++ bit-manipulation bit-shift

21
推荐指数
2
解决办法
3554
查看次数

公开访问svn的根目录

我想知道是否有可能让人们通过apache和'dav_svn'模块访问subversion根目录.现在我只能访问比根目录("svn/game""svn/something"而不是"svn /")1级别的情人的存储库.
我的httpd.conf:

<Location /svn>
    DAV svn
    SVNParentPath C:/SVN
    AuthzSVNAccessFile C:/SVN/users
    Satisfy Any
    Require valid-user
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile C:/SVN/svn-auth-file
</Location>
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试访问根目录时,它会询问我是否有用户名和密码.

帮助将不胜感激.
谢谢.

svn apache directory module root

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

删除重复

我有一个类包含10个方法,除了一个键事件之外,它们几乎完成相同的操作.下面给出两个例子:


Public String ATypeOperation(String pin, String amount){
    doSomething();
    doMoreStuff();
    requestBuilder.buildATypeRequest(pin, amount);
    doAfterStuff();
}



Public String BTypeOperation(String name, String sex, String age){
    doSomething();
    doMoreStuff();
    requestBuilder.buildBTypeRequest(name, sex, age);
    doAfterStuff();
}

从上面的方法可以看出,它们与调用requestBuilder提供的不同方法类似.其余的8也是类似的.这里有很多重复的代码.我觉得有更好的方法来实现这一点,但不知道如何实现.任何想法和建议表示赞赏.

谢谢,莎拉

java

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

针对Delphi/C++ Builder的停靠库的建议?

我的团队目前正在考虑将现有的基于MDI的应用程序转移到更现代的基于对接的方法.我们仍在思考,但我们想把它转移到VS2010的对接和视觉外观上:

VS2010 UI和对接截图

这具有以下功能:

  • 显示窗口将停靠的混合轮廓
  • 划入标签,并排并排
  • 允许通过拖动和释放显示停靠位置的图像进行对接(我将其称为"停靠小部件")
  • 看起来也不错(主题/ UI方式)

我无法找到与RAD Studio 2010一起使用的高质量对接库,并且正在寻找关于我没有找到的库或者如何使用我发现的库来实现这样的建议的建议.

  • 更新:我最终购买了AutomatedQA的对接库.我认为这是最好的.有关它的部分,请参阅以下详细信息.

  • 更新2,2011年7月:这个问题考察了Delphi/C++ Builder可用的每个对接库,所以我试图让它保持最新.我知道的两个变化:
    • SmartBear现在拥有AutomatedQA,拥有终结的AutomatedQA对接库.这是我建议买的一个.他们正在考虑开源.
    • 我与DevExpress对接的一个问题(这使它不值得购买)是它缺乏对VS2008/10式对接的支持,具有对接小部件,拖动时的透明覆盖等等. 他们现在正在实现它.因此,由于AQDocking不再被出售,如果我现在问这个问题,我接受的答案就是购买DevExpress Docking.

我找到了以下库.这是一个概述:

内置VCL对接

这允许表单停靠在其他表单或TWinControls上,但看起来非常基本.使用XOR绘制的轮廓进行拖动,这在Vista和Win7上非常糟糕.有一个用于标签式停靠表单的TTabDockSet控件,但我无法弄清楚如何控制停靠表单的标题在停靠后呈现的方式.我认为并行实施对接必须手动完成,即时创建新的docksite面板.RAD Studio IDE的对接窗口比这个(例如,拖动表单时的透明矩形)有点光滑,这是奇怪的,因为我认为它使用了VCL对接支持.

JVCL对接

这看起来更像是内置VCL对接的一个不错的解决方案.它支持在任何边缘或客户端上对接,并显示表单将停靠的alphablended矩形.

JVCL对接测试程序

它似乎是非常错误的(允许在第一个表单之上删除第二个表单,但冻结程序)并且没有内置的选项卡式底座支持或任何类型的drop-location小部件.

LMD对接包

这看起来很有希望:虽然它似乎没有直接停靠表格,但它有对接面板和控件/框架.现有表单可以迁移到框架.它还有一个对接小部件和标签式底座支持.

但是,该演示似乎非常不可靠.我已经安装了最新的评估版本,并创建了一个带有停靠站点和多个面板的新项目,并按下Run会导致以下情况:

LMD对接

这在表单组件流中崩溃.目视检查DFM文件没有显示任何错误,但是有一个不透明的二进制blob用于可能导致它的布局信息.在评估版本中,这并不是特别令人鼓舞.

DevExpress ExpressDocking

我对此寄予厚望:我以前从未使用任何DevExpress控件,但他们有良好的声誉.但他们的演示程序确实令人失望:

DevExpress对接

控件很闪亮,即使使用XP风格也不太适合Windows.它确实有标签对接,但它使用XOR-ed轮廓 - 这在XP或Vista上不能很好地工作.它也没有任何类型的对接小部件.坦率地说,看起来自Windows XP时代以来它还没有更新.2011年7月更新: 这项工作正在改进中.

AutomatedQA/SmartBear对接库

到目前为止,这是所有图书馆中最有前途的.

AutomatedQA对接库

我经常使用AQTime,这是一个出色的分析器,似乎是使用自己的对接库编写的,而且效果很好.但是,最新版本的停靠库试用版下载适用于RAD Studio 2009,并且安装到2010年的建议是它不受支持,您应该重新编译源代码.该演示没有源代码,我们没有RS2009,安装程序拒绝安装,除非我们这样做,即使我们管理它安装我们也无法使用它,因为我们需要重新编译不存在的来源.

我一直与他们的支持团队保持联系,他们向我指出了这个主题.我还发现了另一个与客户提出相同问题的主题.我回复并希望听到更好的消息.我并不热衷于建议购买我无法评估的产品,特别是当我们的IDE不支持它时.

  • 更新:我最终购买了这个库.尽管有评估问题(它在D2007中工作,我有一个副本),但似乎最容易使用所有库,也是最强大的 - 例如,为它编写主题很容易.如果你还需要选择一个停靠库,我肯定会推荐它.

  • 2011年7月更新: 此库不再销售,但可能很快就会开源.

我错过了什么?

这就是我到目前为止所发现的一切.现在怎么办?

  • 我是否错过了Delphi/C++ Builder/RAD Studio 2010的任何好的对接库?
  • 我错过了目前为止我看过的图书馆的任何功能吗?答案如"你错过了FooBar"或"JVCL确实有一个对接小部件,你可以像这样使用它......"听起来真是太棒了.
  • 你下一步会推荐什么?

感谢您的输入 :)

delphi dock c++builder dockpanel-suite

47
推荐指数
2
解决办法
7706
查看次数

在rails app中发布此链接

我很惊讶我在谷歌上找不到它,添加"推文"这个链接的最佳方式是将URL和描述发布到用户的推特账号?

twitter ruby-on-rails

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

使用java进行完整链接提取

我的目标是在从链接读取href属性时始终获取相同的字符串(在我的情况下是URI).示例:假设认为一个html文件它有somany链接,
a href="index.html">但基本域是http://www.domainname.com/index.html
a href="../index.html">但基域是http://www.domainname.com/dit/index.html
如何我可以正确获取所有链接意味着包括域名在内的完整链接?
我怎么能在java中这样做?
输入是HTML,即从一堆HTML代码中提取正确的链接

java

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

异步执行方法的最快方法?

我正在处理一个问题,我必须将很多函数调度到另一个线程,以防止当前函数阻塞.现在我想知道执行这项任务的最快方法是什么.

目前我一直坚持

ThreadPool.UnsafeQueueUserWorkItem
Run Code Online (Sandbox Code Playgroud)

因为它比常规的QueueUserWorkItem略快.但是,我担心线程池可能会阻止它.有没有更快的方法调用方法调用到另一个线程?我只是想知道这项任务的最佳做法是什么?不安全的代码是没有问题的,因为它在已经使用了很多互操作的场景中.谢谢j.

c# performance multithreading asynchronous

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