我有一个包含大量属性的类,如下所示:
public string Name
{
get { return _name; }
set { IsDirty = true; _name = value; }
}
Run Code Online (Sandbox Code Playgroud)
如果我可以依靠C#3.0来为这些生成后备存储,那将会容易得多,但有没有办法将IsDirty = true分解出去; 这样我就可以编写类似这样的属性并仍然得到相同的行为:
[MakesDirty]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud) Shoes有一些内置的转储命令(Shoes.debug),但还有其他工具可以调试代码而不会在整个注入调试消息吗?像gdb这样的东西会很棒.
我有一个非常简单的WPF应用程序,我在其中使用数据绑定来允许编辑一些自定义CLR对象.我现在想要在用户单击保存时输入一些输入验证.但是,我读过的所有WPF书籍并没有真正为这个问题投入任何空间.我看到你可以创建自定义ValidationRules,但我想知道这对我的需求是否有点过分.
所以我的问题是:是否有一个很好的示例应用程序或文章,它演示了在WPF中验证用户输入的最佳实践?
我似乎记得读过一些关于结构通过C#在CLR中实现接口有什么不好的东西,但我似乎无法找到任何关于它的东西.这不好吗?这样做会产生意想不到的后果吗?
public interface Foo { Bar GetBar(); }
public struct Fubar : Foo { public Bar GetBar() { return new Bar(); } }
Run Code Online (Sandbox Code Playgroud) 我想在每次用户退出程序时保存程序设置.所以当用户退出程序时我需要一种方法来调用函数.我怎么做?
我使用的是Java 1.5.
有没有可行的方法使用泛型来创建一个不依赖于选择存储数据的基类型的数学库?
换句话说,我们假设我想写一个Fraction类.该分数可以由两个整数或两个双精度或其他表示.重要的是基本的四个算术运算都有明确的定义.所以,我希望能够写Fraction<int> frac = new Fraction<int>(1,2)和/或Fraction<double> frac = new Fraction<double>(0.1, 1.0).
不幸的是,没有代表四种基本操作的接口(+, - ,*,/).有没有人找到一种可行的,可行的方法来实现这一点?
我希望每个人都会赦免这个问题的长度和叙事方式.我决定在我的博客中详细描述这种情况.后来我看到Joel对这个网站的邀请,我想我会把它粘贴在这里,看看有没有人对这种情况有所了解.
我编写并现在支持一个应用程序,该应用程序由一个Visual Basic胖客户端组成DCOM,使用ATL用C++编写的中间层COM +组件.它遍布我们所有的八个办事处.每个办公室都托管一个后端服务器,其中包含COM +应用程序(由18个独立组件组成)和SQLServer.SQLServer通常位于同一个后端服务器上,但不一定是这样.
我们最近将我们最大的办公室 - 纽约的后端服务器从MSC群集迁移到VMWare ESX技术上托管的新虚拟机.由于COM +应用程序的位置已从旧服务器移动到具有不同名称的新服务器,因此我不得不重定向所有客户端,以便它们在新服务器上激活COM +应用程序.这个过程很老套,因为我对几个经过类似基础设施升级的小型办公室做了同样的事情.
一切似乎都很常规,周一早上整个办公室 - 大约1,000个Windows XP工作站 - 在新服务器上运行时没有发生任何事故.但随后电话来自我的移动组 - 有一位律师在家工作,VPN连接在被重定向到新服务器后出现了一个奇怪的错误:
Error on FillTreeView2 - The stub received bad data.
咦?我以前从未见过这个错误信息.是新服务器吗?但办公室的所有工作站都运转正常.我告诉移动组将律师转回旧服务器(仍在运行),错误消失了.那有什么区别?原来这位律师在家里运行Vista.
我们不在任何办公室运行Vista,但我们确实有一些在家里运行Vista的律师(肯定是我在纽约办公室的一些).我也这样做,我从未见过这个问题.为了确认存在问题,我启动了我的Vista笔记本电脑,指向新服务器,并得到了同样的错误.我把它指回旧服务器,它工作正常.显然,Vista和新服务器上的组件存在一些问题 - 这个问题似乎不会影响XP客户端.会是什么呢?
下一站 - 笔记本电脑上的应用程序错误日志.这产生了有关错误的更多信息:
Source: Microsoft-Windows-RPC-Events Date: 9/2/2008 11:56:07 AM Event ID: 10 Level: Error Computer: DevLaptop Description: Application has failed to complete a COM call because an incorrect interface ID was passed as a parameter. The expected Interface ID was 00000555-0000-0010-8000-00aa006d2ea4, The Interface ID returned was 00000556-0000-0010-8000-00aa006d2ea4. User …
为什么默认的IntelliJ默认类javadoc注释使用非标准语法?它不是用"User:jstauffer"创建一行,而是可以用"@author jstauffer"创建一行.它创建的其他行(日期和时间)可能没有使用javadoc语法,但为什么不在可用时使用javadoc语法?
这里有一个例子供参考:
/** * Created by IntelliJ IDEA. * User: jstauffer * Date: Nov 13, 2007 * Time: 11:15:10 AM * To change this template use File | Settings | File Templates. */
SQL Server Express 2008安装程序允许您为每个服务分配不同的用户帐户.
对于开发环境,您会使用域用户,本地用户,NT Authority\NETWORK SERCVICE,NT Authority\Local System或其他一些帐户,为什么?
从语义上讲,有没有在今天的网站的适当位置(晚2008+),其中使用粗体<b>和斜体<i>标签比更广泛的应用更加有用<strong>和<em>标签?
c# ×3
interface ×2
.net ×1
account ×1
attributes ×1
data-binding ×1
dcom ×1
events ×1
generics ×1
html ×1
installation ×1
java ×1
javadoc ×1
math ×1
properties ×1
ruby ×1
semantics ×1
shoes ×1
sql-server ×1
struct ×1
validation ×1
wpf ×1