我有一个简单的Java POJO,我将属性复制到同一个POJO类的另一个实例.
我知道我可以用BeanUtils.copyProperties()做到这一点,但我想避免使用第三方库.
那么,如何简单地,正确和安全的方式呢?
顺便说一下,我正在使用Java 6.
我在C#中创建了一个Windows服务,将它安装在服务器上运行正常.
现在我想再次安装相同的服务,但是从不同的工作目录运行,具有不同的配置文件等.因此,我希望同时运行同一服务的两个(或更多)实例.最初,这是不可能的,因为安装程序会抱怨已经安装了给定名称的服务.
我可以通过更改我的代码,将ServiceBase.ServiceName属性设置为新值,然后重新编译并再次运行InstallUtil.exe来解决此问题.但是,我更喜欢我是否可以在安装时设置服务名称,即理想情况下我会做类似的事情
InstallUtil.exe/i/servicename ="MyService Instance 2"MyService.exe
如果这是不可实现的(我非常怀疑),我希望能够在构建服务时注入服务名称.我认为有可能使用某种构建事件,使用聪明的msbuild或nant技巧或类似的东西,但我没有线索.
任何建议将不胜感激.
感谢您的时间.
我正在研究一个pomotion数据库,下面是我的CREATE TABLE步骤:
CREATE TABLE [dbo].[sponsors]
(
[InstId] [bigint] NOT NULL,
[EncryptedData] [varbinary](44) NOT NULL,
[HashedData] [varbinary](22) NOT NULL,
[JobId] [bigint] NOT NULL,
CONSTRAINT [PK_sponsors] PRIMARY KEY CLUSTERED
(
[InstId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[sponsors] WITH CHECK ADD CONSTRAINT [FK_sponsors_jobs] FOREIGN KEY([JobId])
REFERENCES [dbo].[jobs] ([Id])
GO
ALTER TABLE [dbo].[sponsors] CHECK CONSTRAINT [FK_sponsors_jobs]
GO
ALTER TABLE [dbo].[sponsors] …Run Code Online (Sandbox Code Playgroud) 我知道ICU和小型库,比如代码项目上的utf8(忘记了确切的名称),但这些都不是我想要的.
我真正想要的是像ICU这样的东西,但是以更友好的方式结束.
特别:
如果不存在这样的库,是否可以使用标准c ++类包装ICU,所以我可以创建一个与std :: string和std :: wstring具有相同用法的ustring,并且还可以实现流的版本(最好是它们与现有的完全兼容,即我可以将它传递给期望std :: ostream的函数,并且它将在其内部格式和ascii(或utf-8)之间执行转换)?假设可能会有多少工作?
编辑:还看了c ++ 0x标准并注意到utf8,utf16和utf32的文字,这是否意味着标准库(例如字符串,流等)将完全支持那些编码和它们之间的转换?如果是这样,任何人都知道Visual Studio将支持这些功能需要多长时间?
EDIT2:至于使用现有的c ++支持,我会查找locale和facet的东西.
我遇到的一个问题是,当使用围绕wchar_t定义的流(在Windows下为文件i/o时为2个字节)时,它似乎仍然使用ascii作为文件自己.
std::wofstream file(L"myfile.txt", std::ios::out);
file << L"Hello World!" << std::endl;
Run Code Online (Sandbox Code Playgroud)
导致文件中的以下十六进制
48 65 6C 6C 6F 20 57 6F 72 6C 64 0D 0A
这显然是ascii而不是预期的utf-16输出:
FF FE 48 00 65 00 6C 00 6C 00 6F 00 20 00 57 00 6F 00 72 00 6C 00 64 00 0D 00 0A 00
我试图继承str,但由于其不变性而遇到一些困难.
class DerivedClass(str):
def __new__(cls, string):
ob = super(DerivedClass, cls).__new__(cls, string)
return ob
def upper(self):
#overridden, new functionality. Return ob of type DerivedClass. Great.
caps = super(DerivedClass, self).upper()
return DerivedClass(caps + '123')
derived = DerivedClass('a')
print derived.upper() #'A123'
print type(derived.upper()) #<class '__main__.DerivedClass'>
print derived.lower() #'a'
print type(derived.lower()) #<type 'str'>
Run Code Online (Sandbox Code Playgroud)
对于不需要任何新功能的继承方法,例如derived.lower(),是否有一种简单的pythonic方法来返回类型的对象DerivedClass(而不是str)?或者我是否像我一样手动覆盖每个str.method()derived.upper()?
编辑:
#Any massive flaws in the following?
class DerivedClass(str):
def __new__(cls, string):
ob = super(DerivedClass, cls).__new__(cls, string)
return ob
def …Run Code Online (Sandbox Code Playgroud) 我确定这是非常愚蠢的事情,但我只是看不到它..
pData.LocationHours是类型的BaseLocationHoursDataSet.LocationHoursDataTable.然而,当我将光标悬停在上面时l,我看到的只是" (range variable) TSource l" - 为什么会这样?linq为什么不知道它正在处理什么?我用不同的DataTable尝试相同的东西,一切正常....不是这个人.可能是什么问题呢?
protected ListItem[] GetHoursTypesListItems(BaseLocationHoursDataSet pData)
{
return (
from l in pData.LocationHours // putting cursor over the l here shows: (range variable) TSource l
select new ListItem
{
Value = l, //ignore the fact that I didn't specify a property - that's the problem, that none of the properties of the object show up.
Text = l
}
).ToArray<ListItem>();
}
Run Code Online (Sandbox Code Playgroud)
.
更新:
问题是它不知道我是什么.而不是向我显示正确的类型(我希望看到LocationHoursRow),我看到"TSource l"..这是什么?为什么不知道我在" from l in …
我对文件进行了更改,加上一个新文件,并希望在切换到另一个任务时使用git stash将它们删除.但git stash本身只会隐藏对现有文件的更改; 新文件仍然存在于我的工作树中,使我未来的工作变得混乱.如何存放这个未跟踪的文件?
不使用任何第三方工具,提供JSON响应数据的理想方式是什么?
我想有一个ASPX应用程序页面只返回json字符串响应.有任何想法吗?
例如:
m_lottTorqueTools = (From t In m_lottTorqueTools _
Where Not t.SlotNumber = toolTuple.SlotNumber _
And Not t.StationIndex = toolTuple.StationIndex).ToList
Run Code Online (Sandbox Code Playgroud)
这里出现了什么算法?在后台是否有嵌套的for循环?它是否为这些字段构建哈希表?我很好奇.