任何人都可以确切地解释战略模式如何与控制反转相关联?
我有一个条件,我需要关闭应用程序,所以我设置一个certian标志时调用this.Dispose().
起初我认为在调用this.Dispose()之后调用函数是一个问题,因此我将代码移动到最后调用的东西,但我仍然得到"ArgumentException未处理""参数无效".在Application.Run(new myApp();行.
我究竟做错了什么?我一路上都错过了什么吗?或者可能有更好的方法来关闭应用程序?
我的技术主管坚持这种例外机制:
try
{
DoSth();
}
catch (OurException)
{
throw;
}
catch (Exception ex)
{
Util.Log(ex.Message, "1242"); // 1242 is unique to this catch block
throw new OurException(ex);
}
Run Code Online (Sandbox Code Playgroud)
1242这里是catch方法的标识符,我们处理除OurException之外的异常.项目中的每个catch块都必须具有唯一标识符,以便我们通过查看日志来了解异常发生的位置.
对于每个方法,我们必须捕获OurException并抛出它.如果抛出其他类型的异常,我们必须在重新抛出之前记录它并通过OurException对其进行掩码.
这是一种合理的方法吗?如果有,有什么更好的选择?
编辑:我被告知堆栈跟踪在发布模式下不会产生有意义的结果.您是否建议捕获并抛出一般异常?
Edit2:谢谢大家.我用你的答案作为我反对此论点的一部分,但我被告知你没有足够的经验,也不知道如何应对现实生活中的情况.我必须走这条路.
我试图从一个表(游戏)中获取信息,并计算与第一个表中的每个条目对应的另一个表(票证)中的条目.我希望返回第一个表中的每个条目,即使第二个表中没有任何条目.我的查询如下:
SELECT g.*, count(*)
FROM games g, tickets t
WHERE (t.game_number = g.game_number
OR NOT EXISTS (SELECT * FROM tickets t2 WHERE t2.game_number=g.game_number))
GROUP BY t.game_number;
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我一直在寻找有关队列的通用内核实现的信息,即先进先出的数据结构.我认为可能有一个,因为它可能是常用的东西,并且有一个链表的标准(以list_head结构的形式).是否有一些我无法找到的标准队列实现,或者通常的做法是将链表用作队列并希望最好?
以下代码的同事在尝试使用VS 2008编译时会抛出以下错误:
错误:
新类型表达式需要()或[]
码:
MyClass结构:
public class MyClass
{
public MyClass() {}
public string Property1 { get; set; }
public string Property2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
示例源代码:
List<MyClass> x = new List<MyClass>();
x.Add(new MyClass
{
Property1 = "MyValue",
Property2 = "Another Value"
});
Run Code Online (Sandbox Code Playgroud)
它"适用于我的机器",但不是他的.知道为什么吗?
更新
他的目标是3.5 .NET框架
他正在使用System.Collections.Generics命名空间
MyClass对象确实有一个构造函数
更新1:
@ Funky81 - 您的示例和我的示例能够在我的PC上编译.
更新2:
示例中包含MyClass的模式
更新3:
@DK - 我让我的同事在他的应用程序中添加以下配置部分:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler> …Run Code Online (Sandbox Code Playgroud) 我想知道如何在socket_read通话中设置超时?它第一次调用时socket_read,它等待直到发送数据,如果在5秒内没有发送数据,我想关闭连接.任何帮助?我已经尝试SO_RCVTIMEO过没有运气了.
我正在创建一个套接字socket_create()并用它来监听连接,然后在连接时我会监听数据,然后用它做一些事情.超时命中时,我想运行socket_shutdown()然后socket_close().
我有一个多线程的ac#WINDOWS应用程序.我的理解是,在Web环境中,连接会自动汇集.我的理解是,在Windows应用程序中,情况并非如此.因此,对于Windows应用程序,应该使用相同的连接,而不是在每次调用后关闭,而是在应用程序关闭时关闭.
我很好奇 - 我是对的吗?如果是,两个线程是否可以使用相同的连接同时从数据库获取数据集,或者该功能是否排队?
谢谢
我可以用:
select * from sys.tables
Run Code Online (Sandbox Code Playgroud)
在mssql中显示当前数据库中所有表的列表.反正我是否可以使用类似的语法来显示另一个数据库中的表列表?
说我用A:
use A
Run Code Online (Sandbox Code Playgroud)
声明,我可以在数据库B中显示表吗?
有没有人对可能有一些鼓舞人心的用户界面来构建我自己的iPhone应用程序的网站有任何建议.使用传统的UIKit小部件不断构建应用程序是直截了当的,但它并没有让您在竞争中脱颖而出.关于如何构建有吸引力的界面的一些资源非常需要灵感.这适用于具有最小Photoshop/Illustrator技能的人,但不介意使用iStockPhoto等网站并使用自定义视图.