在最后一行的下面的方法中,我总是得到一个例外:
System.OverflowException: Value was either too large or too small for an Int32.
Run Code Online (Sandbox Code Playgroud)
我无法解释为什么,因为我正在明确检查:
private Int32 ConvertValue(double value)
{
if (value > Int32.MaxValue)
{
Console.WriteLine("Couldn't convert value " + value + " to Int32");
return Int32.MaxValue;
}
else if (value < Int32.MinValue)
{
Console.WriteLine("Couldn't convert value " + value + " to Int32");
return Int32.MinValue;
}
else
{
return Convert.ToInt32(value);
}
}
Run Code Online (Sandbox Code Playgroud) 在NUnit中,我可以执行以下操作:
Assert.That(1.05,Is.EqualTo(1.0).Within(0.1));
Run Code Online (Sandbox Code Playgroud)
我也能做到这一点:
Assert.That(new[]{1.0,2.0,3.0},Is.EquivalentTo(new[]{3.0,2.0,1.0}));
Run Code Online (Sandbox Code Playgroud)
现在我想沿着这条线做点什么
Assert.That(new[]{1.05,2.05,3.05},
Is.EquivalentTo(new[]{3.0,2.0,1.0}).Within(0.1));
Run Code Online (Sandbox Code Playgroud)
除了Within在这种情况下不支持关键字.是否有解决方法或其他方法可以轻松地做到这一点?
我认为区别因素是
那是对的吗?
我正在尝试设置可重用代码的存储库.我在想每个可重用的代码模块都有一定的"成熟度"等级.评级将定义为可重用代码位于特定要求集中的级别.最高成熟度级别将是预定义要求集中的最高标准度.
例如:
等级; 要求; 描述
等级0; 代码合法使用; 该代码在商业行业/多个合同/等中使用是否合法?
1级; 基本代码行并满足0级要求; 原型代码,第三方工具等等
2级; 具有功能界面和注释,符合1级要求; 每个类和函数的足够文档; 能够从评论
等级3 确定功能; 遵守编码标准,符合2级要求; 遵循定义的编码标准并通过代码检查实用程序测试
级别4; 包括测试用例并满足3级要求; 有足够的测试用例来测试代码
级别5的所有功能; 经再利用委员会批准,符合4级要求; 由重用专家和同行审核并验证其符合所有成熟度级别
我想知道这个成熟度级别是否应该是一个层次结构,为了进入下一个级别,你需要满足所有以前级别的要求(如上所示)?
或者它是否应该是满足下一级别的要求的子集?
例如,我们满足x个y要求,我们可以进入下一个级别(要求与上面提到的相同).
等级0,满足6个要求中的0个
等级1,符合6个要求中的1个
......
我在子集方法中看到的问题是一些要求应该具有更强的权重,并且在这种方法中不会被考虑(除非我开始具体如此,满足b和x中的y等).但随后它可能会变得复杂起来.
有没有人以前做过这个,如果有的话,你是如何设置你的图书馆的?您是否拥有所有或其他结构的成熟度?任何投入将不胜感激.
我理解"使用"的意思是保证调用对象的Dispose方法.但是如何处理"使用"语句中的异常呢?如果有异常,我需要在try catch中包装我的"using"语句.例如:
可以说在using参数中创建对象时会创建一个异常
try
{
// Exception in using parameter
using (SqlConnection connection = new SqlConnection("LippertTheLeopard"))
{
connection.Open();
}
}
catch (Exception ex)
{
}
Run Code Online (Sandbox Code Playgroud)
或使用范围内的异常
using (SqlConnection connection = new SqlConnection())
{
try
{
connection.Open();
}
catch (Exception ex)
{
}
}
Run Code Online (Sandbox Code Playgroud)
好像我已经需要使用try catch来处理异常,也许我应该只处理对象的处理.在这种情况下,"使用"声明似乎并没有帮助我.如何使用"using"语句正确处理异常?我错过了更好的方法吗?
SqlConnection connection2 = null;
try
{
connection2 = new SqlConnection("z");
connection2.Open();
}
catch (Exception ex)
{
}
finally
{
IDisposable disp = connection2 as IDisposable;
if (disp != null)
{
disp.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
"使用"关键字语法可能会更加含糖......
这肯定会很好: …
有谁知道在哪里可以找到将Lat/Lon位置转换为军事网格参考系统(MGRS)的代码库?如果可能的话,我正在寻找一个C#实现.
我不想在嵌入模式下使用它,因为我也可以允许其他外部应用程序访问它.我想在Tomcat加载我的应用程序的同时执行服务器的启动(或者只是当tomcat运行时).这样我就不必要求客户端使用命令或脚本手动运行hsqldb,然后才能将我的战争放入tomcat并运行它(为了简单起见).
我可以通过从Java发送命令从main 调用Server,但这会给我一个无休止的线程,我不知道如何处理它.有没有更容易测试的方法来做到这一点?
我对框架设计有一些一般性的问题.
我正在使用C#.NET(框架3.5)和SQL 2008(使用LINQ)为iPhone应用程序构建API.我遵循了Domain-Driven-Design模式(在一本书中)并具有以下文件夹结构:
Core
- DataAccess
--Impl
-Domain
-Impl
Run Code Online (Sandbox Code Playgroud)
Core是我的核心API库 - 我的DLL.DataAccess包含数据访问接口DataAccess.Impl包含存储库(LINQ to the DB)Domain包含我的大部分数据类型和属性.Impl包含我的服务(即AccountService.cs,EmailService.cs)
现在,作为练习,我已经为此项目添加了一个Windows服务,并尝试从此服务中的DLL调用功能.我的问题是,我应该将哪一层暴露给其他应用程序以及应该隐藏什么?
当我开始阅读DDD时,我假设存储库将被服务类隐藏和访问,但我发现我需要在客户端调用两者的功能.我设计错了吗?
我的另一个问题是命名空间命名.当Windows服务从我的核心库调用功能时,我必须这样做我的包括:
using Company.Product.ProductCore.Core.DataAccess.Impl
using Company.Product.ProductCore.Core.Domain
using Company.Product.ProductCore.Core.Impl
Run Code Online (Sandbox Code Playgroud)
这看起来很罗嗦.看看微软的DLL,他们似乎遵循两层约定 - (System.Linq,System.Text等).让Company.Product.ProductCore.Core.Impl看起来很乱,并没有真正告诉程序员这个命名空间做了什么(但它是我读过的例子所建议的).这里有最好的做法吗?
您的建议(以及任何示例)都非常感谢.
谢谢.
我需要一种方法来扩展远程机器上的环境变量.
假设我有一个文件夹的路径,%appdata%\MyApp\Plugins或者%ProgramFiles%\MyCompany\MyApp\Plugins我想列出该文件夹中的文件以进行审计.唯一的问题是我想在远程计算机上执行此操作,但我有管理员访问权限.
一个额外的问题(但不是必不可少的)是如何为远程机器上的给定用户执行此操作?
我有一个TabControl包含几个选项卡.每个标签上都有一个UserControl.我想检查控制的可视性x上UserControl A的UserControl B.我认为做x.Visible起来UserControl B就足够好了.事实证明,它显示false在调试器中,即使我明确地设置它true并且它从未改变过.然后我在MSDN上阅读Control.Visible:
即使Visible设置为true,如果用户在其他控件后面被遮挡,控件也可能不可见.
令我惊讶的是,这不会奏效.现在我想知道如何判断控件x是否可以从另一个控件中看到UserControl.如果可能的话,我想避免使用布尔值.有没有人碰到这个并找到了解决方案?
注意:Control.IsAccessible在这种情况下,它似乎也是错误的.
c# ×8
.net ×3
.net-3.5 ×1
aes ×1
api ×1
c++ ×1
code-reuse ×1
controls ×1
coordinates ×1
gis ×1
hsqldb ×1
java ×1
math ×1
namespaces ×1
nunit ×1
reusability ×1
using ×1
visibility ×1
winforms ×1