问题列表 - 第20315页

深度复制.NET类实例而不进行序列化

我正在使用来自第三方DLL的实例类,我需要在特定实例上进行深层复制.该类未标记为Serializable,因此我无法使用此建议的方法BinaryFormatter.

如何在不使用序列化的情况下获取此对象的深层副本?

.net instance deep-copy

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

const cast允许读锁定,这味道不好吗?

我想对标记为的对象执行只读方法const,但为了安全地执行此操作,我需要锁定一个reader-writer互斥锁:

const Value Object::list() const {
  ScopedRead lock(children_);
  ...
}
Run Code Online (Sandbox Code Playgroud)

但这打破了因为编译器抱怨"children_"存在const等等.我去了ScopedRead类,直到RWMutex类(这children_是一个子类)来允许read_lockconst对象,但我必须写这个:

inline void read_lock() const {
  pthread_rwlock_rdlock(const_cast<pthread_rwlock_t*>(&rwlock_));
}
Run Code Online (Sandbox Code Playgroud)

我一直都知道这const_cast是一种代码味道.有什么办法可以避免这个吗

c++ concurrency const

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

C#:字符串中的新行和制表符

StringBuilder sb = new StringBuilder();
sb.Append("Line 1");
//insert new line character
//insert tab character
sb.Append("Line 2");
using (StreamWriter sw = new StreamWriter("example.txt"))
{
    sq.Write(sb.ToString());
}
Run Code Online (Sandbox Code Playgroud)

如何在此示例中插入新的行和制表符?

c#

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

javascript文件高度并发症

Mozilla和IE开发人员似乎同时改变了他们的高度元素的实现来代表Opera实现......我以前不必担心.

var height = (document.height !== undefined) ? document.height : document.body.offsetHeight;
Run Code Online (Sandbox Code Playgroud)

在空白文档上执行时,现在返回0作为文档的高度.我的实现需要知道要动态构建的真实客户端视口.Chrome和Safari仍然像往常一样行事.

scrollHeight和clientHeight的行为完全相同.

更复杂的事情document.height和document.body.offsetHeight现在也考虑到文档的完整高度,而不是像以前那样只有可视区域...我尝试了一个旧的表间距方法,并使用了2000px x 1px透明和文档高度现在设置为2000 ....自然Chrome和Safari仍然按预期工作,只给出可见的大小.

我非常渴望解决这个问题.

javascript javascript-objects

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

从get-eventlog Powershell调用中获取值

很抱歉提出这样的问题,但我花了半小时就没有这个问题.

我想从特定应用的事件日志中获取最新日期.到目前为止,我的代码是:

$event = get-eventlog -logname 'Windows PowerShell' -source mpkLogParser -newest 1 | Format-List
echo $event
Run Code Online (Sandbox Code Playgroud)

这会产生:

Index              : 51
EntryType          : Information
InstanceId         : 3001
Message            : MPKLogParser successfully parsed the log file u_ex100118.log
Category           : (1)
CategoryNumber     : 1
ReplacementStrings : {MPKLogParser successfully parsed the log file u_ex100118.log}
Source             : mpkLogParser
TimeGenerated      : 1/28/2010 11:24:08 AM
TimeWritten        : 1/28/2010 11:24:08 AM
UserName           : 
Run Code Online (Sandbox Code Playgroud)

那么如何从$ event中提取TimeWritten部分呢?

对此有任何帮助,我可以睡得更好.:)

powershell

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

如何在PowerShell中处理命令行参数

处理命令行参数的"最佳"方法是什么?

似乎对"最佳"方式有几个答案,因此我坚持如何处理如下简单的事情:

script.ps1 /n name /d domain
Run Code Online (Sandbox Code Playgroud)

script.ps1 /d domain /n name.
Run Code Online (Sandbox Code Playgroud)

有没有一个可以更好地处理这个问题的插件?我知道我在这里重新发明轮子.

显然我已经不是很漂亮而且肯定不是"最好的",但它确实有效..而且它是UGLY.

for ( $i = 0; $i -lt $args.count; $i++ ) {
    if ($args[ $i ] -eq "/n"){ $strName=$args[ $i+1 ]}
    if ($args[ $i ] -eq "-n"){ $strName=$args[ $i+1 ]}
    if ($args[ $i ] -eq "/d"){ $strDomain=$args[ $i+1 ]}
    if ($args[ $i ] -eq "-d"){ $strDomain=$args[ $i+1 ]}
}
Write-Host $strName
Write-Host $strDomain
Run Code Online (Sandbox Code Playgroud)

powershell command-line-arguments

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

当我在Visual Studio中创建项目引用时,我是否必须在部署时包含这些项目的DLL?

我有一个控制台应用程序和两个类库项目.

控制台应用程序必须投影对类库项目的引用.

当我构建时,它会为这两个项目生成DLL.我是否必须将这些包含在我的控制台应用程序exe文件中?有没有办法让它成功,所以我不需要包括这两个dll?

理想情况下,我想要一个单独的exe.

.net c# deployment dll

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

Python:使用带有变量的namedtuple._replace作为fieldname

我可以使用变量引用namedtuple fieldame吗?

from collections import namedtuple
import random 

Prize = namedtuple("Prize", ["left", "right"]) 

this_prize = Prize("FirstPrize", "SecondPrize")

if random.random() > .5:
    choice = "left"
else:
    choice = "right"

#retrieve the value of "left" or "right" depending on the choice

print "You won", getattr(this_prize,choice)

#replace the value of "left" or "right" depending on the choice

this_prize._replace(choice  = "Yay") #this doesn't work

print this_prize
Run Code Online (Sandbox Code Playgroud)

python namedtuple

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

如何让我的C#ComboBox在运行时显示一个值?

我刚在VS2008中创建了一个ComboBox.我为它准备了四件物品,一件,两件,三件和四件.当我运行它时,默认情况下不显示任何内容.我需要选择一个来显示.如何在没有我选择的情况下默认显示第二项?我尝试在DisplayMember和ValueMeme属性中放一个数字,但它不起作用.

谢谢,

.net c# winforms

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

getaddrinfo()如何进行DNS查找?

getaddrinfo()是我们创建socket()或connect()之前需要使用的函数,对吗?那么getaddrinfo首先如何与DNS服务器通信?

PS:我在哪里可以看到getaddrinfo的完整来源?

c unix networking

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