WPF真正"准备好"时的"指标"是Visual Studio中提供了menustrip控件.如果没有这个,从我的角度来看,它仍然在"建设中",与winforms相比.这不是技术论证,只是个人偏好.
所以我的问题是:Visual Studio何时会出现WPF menustrip控件?例如,这是否会出现在Visual Studio 2010的最终版本中?
我最近成了一名TDD狂热者.解释这个概念并不困难.大多数人都尊重它背后的目的.但是,当我试图展示这个想法背后的实际过程时,最大的抱怨是:
"当我编写初始测试时,我讨厌Visual Studio intellisense如何尝试猜测我正在做什么.显然这是错误的,因为我还没有编写API.当我拥有时,它会让我脱离背景解决Intellisense猜错的所有事情."
不幸的是,经常出现:
"TDD(或Visual Studio)很糟糕"
它从来没有真正困扰过我(我只是删除它猜错的东西),但我看到了问题.其他人做了什么来解决这个问题?明显的答案是:
PS我在SO(以及其他地方)的任何地方寻找这个问题所以如果我错过它,请随意标记为重复...好像你需要我的许可;-)
编辑:是的,我有Resharper,它真棒.
任何使用.Net和WinForms完成任何UI工作的人都非常熟悉这种类型的代码:
TestForm frm = new TestForm();
frm.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
我发现自己希望显示模态对话框的调用不那么冗长,更像是静态调用.Andf有一种更简单的方法.在一个简单的例子中,你真正需要的是这样的:
new TestForm().ShowDialog();
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?这种速记会不会有任何影响?例如,Windows消息未正确处理/路由,对话框资源未被处理等?
当我看到Ray的反馈时正在研究这个问题:
我想更简单的方法是使用TestForm创建一个静态成员,该成员创建自己的实例并在内部调用ShowDialog.所以,这段代码:
public static DialogResult DoModal()
{
return new TestForm().ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)
可以这样调用:
TestForm.DoModal();
Run Code Online (Sandbox Code Playgroud) 查询1 =从ITEMS i中选择前5名i.item_id
查询2 =从ITEMS i中选择前5名i.item_id,i.category_id
即使我删除了前5个子句,它们仍会返回不同的行.
如果我运行"从ITEMS i中选择前5个i.*",这将返回一个完全不同的结果集!
我尝试自定义配方sys.excepthook描述的行为.
在ipython中:
:import pdb, sys, traceback
:def info(type, value, tb):
: traceback.print_exception(type, value, tb)
: pdb.pm()
:sys.excepthook = info
:--
>>> x[10] = 5
-------------------------------------------------
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
NameError: name 'x' is not defined
>>>
Run Code Online (Sandbox Code Playgroud)
pdb.pm()没有被召唤.它似乎sys.excepthook = info在我的python 2.5安装中不起作用.
我使用 UTC 在数据库中存储数据和时间值。这些值将转换为客户端上的本地时间或每个客户端时区。我从MSDN 文章中了解了这些场景,在夏令时期间显示 UTC 时间似乎会带来问题。
\n\n\n\n\n居住在美国东海岸的某人输入了一个值,例如“Oct 26, 2003 01:10:00 AM”。
\n\n1) 在这个特定的早晨,由于实行夏令时,在凌晨 2:00,本地时钟将重置为凌晨 1:00,从而创建 25 小时制的一天。由于 1:00 AM 和 2:00 AM 之间的所有\n 时钟时间值在该特定早晨\xe2\x80\x94 出现两次,至少在美国和加拿大的大部分地区\n,\n 计算机确实无法知道\n 上午 1:10 指的是\xe2\x80\x94,是在夏令时切换之前\n 发生的时间,还是\n 夏令时切换之后\n 10 分钟发生的\n 时间。
\n\n2) 同样,问题发生在春天,在某个特定的早晨,没有凌晨 2:10 这样的时间。原因是在那个特定的早晨 2:00,本地时钟的时间突然变为凌晨 3:00。在这个 23 小时制的一天中,整个 2:00 小时永远不会发生。
\n
您如何处理第 1 种情况,即您可能有 4 笔交易,其中两笔在转换之前,两笔在夏令时转换之后?如何向用户显示交易时间,因为由于轮班,最后两笔交易的显示时间可能早于前两笔交易。有时,这可能被证明是不合逻辑的,例如:在邮件链中。
\n\n添加:
\n\n要添加有关上下文的更多信息,在客户端(或通过 Web 服务与服务器通信的任何客户端应用程序)上运行的 RIA 应用程序(例如 Silverlight/Flash)允许用户选择交付时间或使用 PC 当地时间进行安排。
\n\n如果我可以检查给定输入时间的无效时间,我可能会提醒用户。此外,对于旅行者来说,需要在时间点找到时区,而不是基于用户选择,因为他们可能会在区域之间移动,并且将时区保存在用户个人资料中不会有帮助。
\n\n一些用于评估输入时间的 C# 测试示例:
\n\n//2:30 am CT to UTC …Run Code Online (Sandbox Code Playgroud) typedef std::map<int, MyObject*> MyMap;
MyMap* myMap = new MyMap;
// ...
myMap->insert( MyMap::value_type( 0, objectOfType_MyObject ) );
Run Code Online (Sandbox Code Playgroud)
为什么我的代码会因堆栈跟踪而崩溃
std::less<int>::operator()
Run Code Online (Sandbox Code Playgroud)
?
我明白,如果我使用自定义键类,我必须提供一个比较器,但这是一个int.
我之前从未使用过地图,这可能是一个愚蠢的问题,但我现在已经坚持了很久.
谢谢
是否有一种有效的方法来获取图像的指纹以进行重复检测?
也就是说,给定图像文件,例如jpg或png,我希望能够快速计算识别图像内容的值,并且对图像的其他方面(例如图像元数据)的变化具有相当的弹性.如果它涉及调整大小甚至更好.
[更新]关于jpg文件中的元数据,有谁知道它是否存储在文件的特定部分?我正在寻找一种忽略它的简单方法 - 例如.我可以跳过文件的前x个字节或从文件末尾取x个字节以确保我没有获得元数据吗?
我正在调用cfc,cfc有一组默认参数:
<cfargument name="EMAIL_TEMPLATE_CODE" type="string" required="yes" hint="EMAIL_TEMPLATE_CODE is required.">
<cfargument name="EMAIL_TEMPLATE_SUBJECT" default="" type="string" required="no" hint="EMAIL_TEMPLATE_SUBJECT is NOT required.">
<cfargument name="EMAIL_TEMPLATE_BODY" default="" type="string" required="no" hint="EMAIL_TEMPLATE_BODY is NOT required.">
Run Code Online (Sandbox Code Playgroud)
我想做的是让这些参数不被要求(正如你可以通过required ="no"看到的那样)但是如果需要的话我想重新分配参数变量.
所以类似于:
<cfargument name="EMAIL_TEMPLATE_CODE" type="string" required="yes" hint="EMAIL_TEMPLATE_CODE is required.">
<cfargument name="EMAIL_TEMPLATE_SUBJECT" default="" type="string" required="no" hint="EMAIL_TEMPLATE_SUBJECT is NOT required.">
<cfargument name="EMAIL_TEMPLATE_BODY" default="" type="string" required="no" hint="EMAIL_TEMPLATE_BODY is NOT required.">
<cfinvoke component="#Request.CFCPath#.email_template" method="getEmailTemplate" returnvariable="getEmailTemplate">
<cfinvokeargument name="EMAIL_TEMPLATE_CODE" value="#ARGUMENTS.EMAIL_TEMPLATE_CODE#">
</cfinvoke>
<cfif getEmailTemplate.RecordCount>
<cfparam name="ARGUMENTS.EMAIL_TEMPLATE_SUBJECT" default="#getEmailTemplate.EMAIL_TEMPLATE_SUBJECT#" type="string">
<cfparam name="ARGUMENTS.EMAIL_TEMPLATE_BODY" default="#getEmailTemplate.EMAIL_TEMPLATE_BODY#" type="string">
</cfif>
Run Code Online (Sandbox Code Playgroud)
但是我无法覆盖默认的ARGUMENTS变量.你能发现我做错了吗?
编辑:
我这样做是因为如果没有参数传递给cfc,我想创建一个.如果参数没有长度,我想我应该cfset一个局部变量?
<cfif Len(ARGUMENTS.EMAIL_TEMPLATE_ADDRESS_FROM)>
<cfset EMailTemplateAddressFrom …Run Code Online (Sandbox Code Playgroud) 我是Objective C和Mac开发的新手......似乎我可以在我的应用程序中使用Posix线程API ..这是推荐的方法吗?或者他们应该使用的一些Apple API用于互斥,条件变量和线程?
我应该补充一点,我正在为iPhone开发.
我想准确添加我想要做的事情.基本上,CoreLocation是异步的...你告诉它开始更新你,然后它只是定期调用你的更新方法...
我遇到的问题是我需要另一个线程来阻止,直到发生更新...如何进行主应用程序线程阻塞,直到至少发生一次CoreLocation更新?他们的NSConditionVariable?:)