在大型项目中使用哪个更好,为什么更好:
#if DEBUG
public void SetPrivateValue(int value)
{ ... }
#endif
Run Code Online (Sandbox Code Playgroud)
要么
[System.Diagnostics.Conditional("DEBUG")]
public void SetPrivateValue(int value)
{ ... }
Run Code Online (Sandbox Code Playgroud) 有谁知道如何将多个参数传递给Thread.Start例程?
我想扩展类,但C#Thread类是密封的.
以下是我认为代码的样子:
...
Thread standardTCPServerThread = new Thread(startSocketServerAsThread);
standardServerThread.Start( orchestrator, initializeMemberBalance, arg, 60000);
...
}
static void startSocketServerAsThread(ServiceOrchestrator orchestrator, List<int> memberBalances, string arg, int port)
{
startSocketServer(orchestrator, memberBalances, arg, port);
}
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我用不同的协调器,天平和端口启动了许多线程.请考虑线程安全.
我试图理解这个Oracle 9i查询末尾的+0是什么意思:
SELECT /*+ INDEX (a CODE_ZIP_CODE_IX) */
a.city,
a.state,
LPAD(a.code,5,0) ZipCode,
b.County_Name CoName,
c.Description RegDesc,
d.Description RegTypeDesc
FROM TBL_CODE_ZIP a,
TBL_CODE_COUNTY b,
TBL_CODE_REGION c,
TBL_CODE_REGION_TYPE d
WHERE a.City = 'LONDONDERRY'
AND a.State = 'NH'
AND lpad(a.Code,5,0) = '03038'
AND a.Region_Type_Code = 1
AND b.County(+) = a.County_Code
AND b.STATE(+) = a.STATE
AND c.Code(+) = a.Region_Code
AND d.Code(+) = a.Region_Type_Code
ORDER BY a.Code +0
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
注意:我不认为它与升序或降序有关,因为我无法在a.Code和+0之间添加asc或desc,我可以在+0之后添加asc或desc
对于我的测试,我需要模拟数据客户端,在我的情况下,他们是Oracle.
我创建了我的数据访问层以允许传入:
public static Int32? GetUserRoleId(string userName, OracleConnection cn, OracleCommand cmd)
Run Code Online (Sandbox Code Playgroud)
我正在使用Moq,虽然我可以根据需要切换到另一个框架,当我去创建像这样的Mock对象时:
Mock<OracleConnection> mockOracleConnection = new Mock<OracleConnection>();
Mock<OracleCommand> mockOracleCommand = new Mock<OracleCommand>();
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
失败:System.ArgumentException:类型为mock必须是接口或抽象或非密封类.
结论: 这比我想象的更简单!只需像这样模拟DAL层函数:
mockDao.Setup(a => a.GetUserRoleId(userName, It.IsAny<OracleConnection>(), It.IsAny<OracleCommand>())).Returns(1);
Run Code Online (Sandbox Code Playgroud) 我已经能够使用android SDK安装Eclipse,并让我的Android应用程序编译,DEBUG并在本地桌面上运行.
现在我想做同样的事情,但通过与远程桌面的连接,基本上是云中的服务器.
关于做什么需要的任何想法?我对调试特别感兴趣.
我尝试过简单地连接设备并在远程设置中启用它.我需要启用/安装其他东西吗?我需要在ADB桥上配置什么?
没有讨论业务逻辑应该在数据库中还是在应用程序层,因为它已经被其他地方所覆盖.
我的团队正在翻译100K +行的PL/SQL代码,并将逻辑从数据库移到应用程序中.我们使用VB6直接调用Oracle 9i存储过程和Ad-hoc查询,现在使用C#,.net 3.5,Winforms和NHibernate到Oracle 9i数据库.
我们已经找到了一个很好的工具来帮助转换Ad-hoc查询SmartCode,但它只创建基于表和视图的代码.我们正在寻找一种工具来协助转换存储过程.
存储过程中包含我们要迁移到应用程序层的大部分业务逻辑.我们想知道是否有任何工具可以将存储过程转换为C#代码.
假设没有,如果我们开发内部/开源工具,最好的起点是什么.是否有其他类似的系统具有类似的目标,可以用作起点?
接受的答案更新: 我选择了范围蠕变的答案,因为它似乎是实现问题中提出的问题的最佳方法.对于那些处理同一问题的人,我衷心地推荐Adam的回应,因为他强烈主张反对使用工具并提供强有力的理由.他还提供了与这个问题最多的互动,并且得到了最多的投票反应.
感谢大家的帮助和对话.
我正在创建一个内部类来为 Contract 模式提供一个构造。
using System;
using System.Runtime.Serialization;
namespace DCS2000.Common35.Core
{
public class Assertion
{
public static void Ensure(bool test)
{
if (!test)
{
throw new PreconditionException("Precondition test failed");
}
}
public static void Ensure(object obj)
{
if (obj == null)
{
throw new PreconditionException("Precondition null object failed");
}
}
public static void Require(bool test)
{
if (!test)
{
throw new PostconditionException("Postcondition test failed");
}
}
public static void Require(object obj)
{
if (obj == null)
{
throw new PostconditionException("Postcondition null …Run Code Online (Sandbox Code Playgroud) 我有一个抽象的基类,它有一个属性,我想防止隐藏,也就是新的,并覆盖.
public abstract class DomainObject
{
public bool IsDeleted { get; set; }
}
public class BankAccount : DomainObject
{
public bool IsDeleted { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
问题是:我需要BankAccount继承基础DomainObject类,所以我不能将其标记为密封,但我想在编译时防止IsDeleted的情况,一个覆盖或新的.
我有一个使用版本3.5编译的C#编写的程序集,它使用WCF.此库必须由另一个用vb.net编写的应用程序使用,该应用程序是使用2.0版编译的外部公司.
可能吗 ?
c# ×6
.net ×2
oracle ×2
oracle9i ×2
.net-2.0 ×1
.net-3.5 ×1
android ×1
cloud ×1
debugging ×1
inheritance ×1
intellisense ×1
moq ×1
nhibernate ×1
oop ×1
parameters ×1
preprocessor ×1
sorting ×1
sql ×1
unit-testing ×1
wcf ×1