我试图找到一种方法来禁用设计/拆分视图出现在Visual Studio中.我认为没有办法完全禁用它,但我似乎仍然无法找到一种方法来删除快捷方式(F7),或从底栏中删除按钮.
我有一个小型的金融应用程序,以 PHP 作为前端,MySQL 作为后端。我有古老的偏见,我在 MySQL 中将货币值存储为美分的整数。我的 HTML 表单允许输入美元值,例如“156.64”,我使用 PHP 将其转换为美分,然后将美分存储在数据库中。
我有一个函数可以从表单中清除美元值,并将其转换为美分。我去掉前导文本,去掉尾随文本,乘以 100 并转换为整数。最后一步是
$cents = (integer) ($dollars * 100);
这几乎适用于所有情况,除了极少数值(例如“156.64”),它始终转换为 15663 美分。为什么要这样做?
如果我这样做:
$cents = (integer) ($dollars * 100 + 0.5);
然后它始终有效。为什么我需要添加该舍入值?
另外,我对将金额存储为整数而不是浮点值的偏见,是否不再需要了?现代浮点计算能否产生足够四舍五入且准确的货币价值,足以保持 100% 准确的会计?
我有一台计算机缺少手动调试器类型列表.请参见下面的截图.
它有VS2005 SP1.什么可能导致这个?
空白调试器http://img505.imageshack.us/img505/5240/blankdebuggerki3.png
我们都知道警报很糟糕.如果你不知道它读了这个
警报用于与用户通信.所以,如果我们不使用它们,那么什么是好的选择呢?
在实现需要用户通信的东西时,我想得到一个很好的替代选择列表.
我将以自己为例,每个人都可以使用:
案例:我们需要在继续之前验证用户输入.
解决方案:当用户点击确定/下一个/提交显示明确样式(例如,白色bg上的红色)时,而不是显示警告框,而"用户输入"周围/旁边的"框架"具有无效输入,其中包含有关内容的信息是错的.为了使用户更容易,有问题的输入应该获得焦点,并在必要时移回视图.
我试图根据 IDynamicObject 上的所有 2 篇博客文章找出如何在 C# 4 中实现 method_missing。
我想要做的是拥有一个具有存储库的业务逻辑层,如果业务逻辑层中缺少该方法,只需调用存储库并传递其结果即可。所以我有一堂课,看起来像这样:
public class CustomerServices : IDynamicObject
{
protected CustomerRepository _Repository = new CustomerRepository();
MetaObject IDynamicObject.GetMetaObject(Expression parameter)
{
return new RepositoryMetaObject<CustomerRepository>(_Repository, parameter);
}
}
Run Code Online (Sandbox Code Playgroud)
在 RepositoryMetaObect 中,我实现 Call 方法,如下所示:
public override MetaObject Call(CallAction action, MetaObject[] args)
{
typeof(T).GetMethod(action.Name).Invoke(_Repository, getParameterArray(args));
return this;
}
Run Code Online (Sandbox Code Playgroud)
(RepositoryMetaObject 代码的其余部分可能并不有趣,但我已将其包含在此处: http: //pastie.org/312842)
我认为的问题是我从来没有对 Invoke 的结果做任何事情,我只是返回 MetaObject 本身。
现在当我这样做时:
dynamic service = new CustomerServices();
var myCustomer = service.GetByID(1);
Run Code Online (Sandbox Code Playgroud)
GetByID 被调用,但如果我尝试访问 myCustomer 上的属性,它就会挂起。
有人可以帮忙吗?
完整代码可以在这里下载:https ://dl.getdropbox.com/u/277640/BusinessLogicLayer.zip
dynamic-language-runtime idynamicobject visual-studio-2010 c#-4.0
我正在研究一个jQuery插件,我想知道是否有可能让插件监听事件而不是被事件触发.
所以不是这样的:
$('#element_id').mouseover(function() {
$(this).plugin();
});
$('#element_id').mouseout(function() {
$(this).pluginHide();
});
Run Code Online (Sandbox Code Playgroud)
我想尝试做这样的事情:
$('#element_id').plugin(????, ????);
Run Code Online (Sandbox Code Playgroud)
并使用对触发它显示或隐藏的元素和事件的某种引用来替换?我仍然对jQuery感到厌烦,所以如果解决这个问题很明显,请耐心等待.
game.h needs:
- packet.h
- socket.h
server.h needs:
- socket.h
socket.h needs:
- game.h
Run Code Online (Sandbox Code Playgroud)
当我尝试将socket.h包含到game.h中时会出现问题,因为socket.h已经包含了game.h.我该如何解决这些问题?
我正在使用VSS 2008和Visual Studio 2008.当我的源文件签入时,VSS属性对话框将它们显示为"Unicode(UTF-8)"类型.但是,如果我在Visual Studio中检查一个,然后做一个比较,它说"二进制文件不同".还有其他人看到这个吗?我在某个地方搞砸了吗?
谢谢,安迪
更新:感谢VonC的一些见解.在大多数情况下,关闭"自动检测本地文件的编码"复选框可以修复它,但对于至少一个文件,它没有帮助.此外,我还没有找到一种方法来做多个文件 - 它们必须每次更改,一次一个.我仍然在寻找更全面的解决方案.
如何测试依赖于机器或平台的功能或模块?例如,查看/依赖的东西$^O或像Net :: Ifconfig :: Wrapper这样的模块?我不需要测试Net :: Ifconfig :: Wrapper返回正确的值,但我确实需要测试我是否正在使用这些值做正确的事情.
谢谢!
编辑:测试$^O结果比我想象的要容易:
{
# <~> $ perl -e 'print $^O'
# linux
local $^O = 'linux';
$rc = GetOSType();
is($rc, $OS_LINUX, 'OS Check - linux');
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我认为这是一个只读变量.