问题列表 - 第20301页

带有X509Certificate2的RemoteCertificateValidationCallback

    X509Certificate2 certificate = new X509Certificate2();
    FileStream fileStream = File.Open(@"C:\openssl\bin\cert_key.p12", FileMode.Open, FileAccess.Read);
    byte[] buffer = new byte[fileStream.Length];

    ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(certificate.ValidateRemoteCertificate);
    Client.ClientCredentials.ClientCertificate.Certificate = certificate;
Run Code Online (Sandbox Code Playgroud)

我对上面的代码的问题是RemoteCertificateValidationCallback只接受旧的X509Certificate而不是X509Certificate2类型作为参数.我需要X509Certificate2,因为我发送SOAP请求的第三方API需要版本2.

c#

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

替代h1元素?

我喜欢h1元素,因为它指定内容是标题样式内容,但你不应该把图像或div之类的东西放在h1中,那么是否可以替换h1我可以放入其他标记?

我当前的HTML看起来像这样:

<div class="section">
    <h1>
        <div style="float:left">header text</div>
        <div style="float:right">text</div>
        <div style="clear:both;float:none;"></div>
    </h1>
    <div>body contents</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我喜欢h1,因为我可以使用div.section类为任何h1添加css样式,但是我不支持将div放入其中...

html css

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

Java:深度克隆/复制实例的推荐解决方案

我想知道是否有推荐的方法在java中进行深度克隆/复制实例.

我有三个解决方案,但我可以错过一些,我想得到你的意见

编辑:包括Bohzo的提议和改进问题:它更多的是深度克隆而不是浅层克隆.

自己做:

在属性之后通过hand属性编写克隆代码并检查是否也克隆了可变实例.
亲:
- 控制将要执行的操作
- 快速执行
缺点:
- 编写和维护繁琐
- 容易出错(复制/粘贴失败,缺少属性,重新分配的可变属性)

使用反射:

使用您自己的反射工具或外部帮助程序(如jakarta common-beans),可以轻松编写一个通用的复制方法,该方法可以在一行中完成工作.
亲:
- 易于编写
- 没有维护
缺点:
- 对发生的事情的控制较少
- 如果反射工具也没有克隆子对象,则容易出现可变对象的错误
- 执行速度较慢

使用克隆框架:

使用为您执行此操作的框架,例如:
commons-lang SerializationUtils
Java Deep Cloning Library
Dozer
Kryo

亲:
- 与反思一样
- 更多地控制将要克隆的内容.
缺点:
- 即使在层次结束时,每个可变实例都被完全克隆
- 执行起来可能非常慢

使用字节码检测在运行时编写克隆

javassit,BCELcglib可能用于生成专用克隆器,只需单手写入.为此目的,有人知道使用这些工具之一的lib吗?

我错过了什么?
你会推荐哪一个?

谢谢.

java clone

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

将实例方法委托给类方法

在Ruby中,假设我有一个类Foo允许我对我的大量Foos进行编目.所有Foos都是绿色和球形的,这是一个基本的自然法则,所以我定义了类方法如下:

class Foo
  def self.colour
    "green"
  end

  def self.is_spherical?
    true
  end
end
Run Code Online (Sandbox Code Playgroud)

这让我做到了

Foo.colour # "green"
Run Code Online (Sandbox Code Playgroud)

但不是

my_foo = Foo.new
my_foo.colour # Error!
Run Code Online (Sandbox Code Playgroud)

尽管事实上my_foo是明显的绿色.

显然,我可以定义一个colour调用的实例方法self.class.colour,但是如果我有很多这样的基本特征,那就很难实现.

我也可以通过定义method_missing为任何缺失的方法尝试类来做到这一点,但我不清楚这是我应该做的事情还是丑陋的黑客,或者如何安全地进行(特别是因为我实际上在ActiveRecord下在Rails中,我理解用method_missing做一些Clever Fun Stuff).

你会推荐什么?

ruby class-method instance-method

11
推荐指数
3
解决办法
5569
查看次数

从IsCmdBld.exe设置InstallShield 2009 InstallScript项目的版本

我是InstallShield的新手,并继承了一个InstallScript项目.我大部分都想通了解决大部分问题.但是,我希望在我们的构建服务器上使用我们产品的每个版本自动构建此项目.我有这个工作正常.但是出于某种原因,我不能让版本号增加.

我正在使用命令:

IsCmdBld.exe -P <.ism location>
-L <some_path_variable>=<some_value>
-L <some_path_variable2>=<some_value2>

这有效.

然而,添加-y 1.2.3,-y "1.2.3",-z Version=1.2.3,-z Version="1.2.3",-z "Version=1.2.3",-z ProductVersion=1.2.3,-z ProductVersion="1.2.3",或-z "ProductVersion=1.2.3".不能正常工作.

当我说它不起作用时,我的意思是使用生成的安装程序不会尝试进行升级,就像我从InstallShield手动增加Product Properties表中的Version字符串一样.

有什么我想念的吗?我知道我没有提供太多的东西,只是希望有人之前遇到过这个问题.此外,使用此-c COMP开关不起作用.

任何想法都赞赏.

installshield

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

是否有一种标准方法来组织类中的方法?

在类中组织方法似乎有许多不同的方法.我可以通过访问对方法进行分组,并按字母顺序排序.我可以将相关方法组合在一起.我可以使用两者的混合,或完全不同的东西.有没有一种标准的方法来解决这个问题?如果没有,你怎么接近它?

c# coding-style

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

c#ref int foo是作为C++ int**foo实现的吗?

昨天我正和一位同事谈论这件事,这让我想到了.Net的传递参考.

// C#
class Foo {}

static void Test(ref Foo foo) { ... };
static void Main()
{ 
    Foo f;
    Test(ref foo);
}
Run Code Online (Sandbox Code Playgroud)

必须使用双重间接实现,因为我们正在更改指针的值.因为所有引用类型都是引用(指针)

// C#
static void Test(Foo foo) { ... }
static void Test(ref Foo foo) { ... };
Run Code Online (Sandbox Code Playgroud)

相当于像

// C++
void Test(Foo *foo);
void Test(Foo **foo);
Run Code Online (Sandbox Code Playgroud)

但如果这是一个VALUE类型,我们实际上并不需要双重间接.所以我很好奇

// C#
static void Test(ref int bar) { ... }
Run Code Online (Sandbox Code Playgroud)

// C++
void Test(int *bar);
// or
void Test(int **bar);
Run Code Online (Sandbox Code Playgroud)

1/29/10更新:阅读所有答案后,我意识到我对自己想要的内容并不十分清楚,而且我误导了将C++投入到正在发生的事情中.我最感兴趣的是它是如何在CLR中实现的,以及JIT将如何为它生成程序集.感谢所有的答案,我从一个角度发现它们都是正确的,但我选择了一个最接近我认为我问过的问题的答案.

.net c#

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

Xcode窗口组织提示?

我是最近转换为Xcode和OS X.即使我有两台大型显示器,我觉得我喜欢花很多时间去寻找窗户.

我通常至少打开以下窗口:

  • 我正在编辑的文件.
  • 匹配的头文件.
  • 另一个源文件.
  • API文档.
  • 浏览器窗口.

看起来我想要的东西总是在其他东西之下.有很多方法可以切换窗口(例如,Exposé,Spaces,OS X热键,Xcode热键),但这是问题的一部分.有很多不同的方法,我不能盲目地使用一个; 我必须考虑哪种情况适合每种情况.

如何组织的Xcode窗口这样你就不会转换所有的时间?

或者,你如何有效地在窗口之间切换?

ide macos xcode

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

如何检查Delphi的TCP端口是否可用?

除了捕获netstat调用之外,还有更优雅的方法来检查Delphi是否有TCP端口可用吗?

delphi tcp

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

Haskell中的多变量函数

在阅读了关于在Haskell中编写多变量函数的这篇文章后,我试着写一些自己的函数.

起初我以为我会尝试概括它 - 所以我可以通过折叠参数给出一个返回可变参数函数的函数.

{-# OPTIONS -fglasgow-exts #-}
module Collapse where
class Collapse a r | r -> a where
  collapse :: (a -> a -> a) -> a -> r
instance Collapse a a where
  collapse _ = id
instance (Collapse a r) => Collapse a (a -> r) where
  collapse f a a' = collapse f (f a a')
Run Code Online (Sandbox Code Playgroud)

但是,编译器不喜欢这样:

Collapse.hs:5:9:
    Functional dependencies conflict between instance declarations:
      instance Collapse a a -- Defined at …
Run Code Online (Sandbox Code Playgroud)

polymorphism haskell polyvariadic

15
推荐指数
2
解决办法
1681
查看次数