有没有办法将十进制值四舍五入到.Net中最近的0.05值?
例如:
7.125 - > 7.15
6.66 - > 6.7
如果它现在可用,任何人都可以提供算法吗?
我们一直在使用MVP模式和Winforms取得了相当大的成功.但是,关于MVP的问题总是突然出现:
什么是一个很好的粒度主持人?
我的意思是:使用Winforms,细粒度通常适用于用户控件.这样,在设计更复杂的GUI时,可以轻松地重用用户控件并将其用作构建块.但是,与演示者具有相同(精细)粒度似乎是一个问题.
一方面,使用粗粒度的演示者会妨碍使用"插件"控件的能力,并且它违反了DRY原则:多个演示者通常需要实现相同的逻辑(例如,填充客户列表),由多个更复杂的控件使用.
另一方面,细粒度的演示者似乎限制了在不同情况下重用控件的能力.例如,编辑视图有时可能需要立即保存客户; 有时它需要将它与其他东西联系起来; 有时只需要验证它; 等等.它通常取决于更复杂的控制.但也有相当多的共享行为.
请注意,在这两种情况下,都可以实现1-presenter-1-view.什么被认为是"1视图"的变化.
使用MVP和Winforms通常被认为是演示者粒度的最佳实践?
免责声明:我们主要使用监督控制器,但我认为它也适用于被动视图.很抱歉这个问题也很长.
当我第一次从Java切换到C#时,我对C#的功能印象非常深刻.但是,在我看来,C#还没有以JavaEE的方式提供可靠的基础架构.
每当我尝试将C#的功能集成到可扩展或复杂的体系结构中时,它总是归结为:我如何扭曲它以便它可以成为MVC/MVP?例如,数据绑定给我带来了比节省时间更多的麻烦.
MSDN有许多与架构和模式相关的文档.但是,在大多数情况下,它们是" 教科书 ",并没有解决这些概念与.NET功能的关系.
JavaEE的EJB和Apache的Struts似乎都鼓励MVC架构.与大多数JavaEE一样,他们倾向于强调分离概念和可扩展性,使其成为大型项目的候选者.
Apache这样说:Struts就像"站在一个巨人的肩膀上".我也可以进入.NET的肩膀吗?
我能提出的最好的单线程是:
是否有大型项目中常用的C#架构整形框架?
我无法抗拒这个类比:我觉得.NET是Power Rangers而JavaEE是Megazord ......
免责声明:我通过Java销售给C#.我在C#领导了几个中小型项目,主要是使用MVP分离; 我只是想"填补空白".
我的MySQL数据库可以很好地存储欧元符号(因为我已经使用本机MySQL客户端(HeidiSQL)进行了测试).但是使用MySQL .NET连接器,我的ASP.NET应用程序正在使用我无法插入或从数据库中读取它:我只得到一个?回归.可能的原因是什么?
我有一个功能:
private string GetPropertyName(Expression<Func<object, object>> f) {
if ((f.Body as MemberExpression) != null) {
return (f.Body as MemberExpression).Member.Name;
}
return "";
}
Run Code Online (Sandbox Code Playgroud)
它以这种方式使用:
string x1 = GetPropertyName(x => Property1);
string x2 = GetPropertyName(x => Property2);
string x3 = GetPropertyName(x => Property3);
Run Code Online (Sandbox Code Playgroud)
其中Property1是一个int,Property2是一个字符串,Property3是一个对象......
只有正确返回类型字符串和对象的Property2和Property3的名称,但Property1的f.Body作为MemberExpression为空...
为什么会这样,我们如何更改代码,以便函数正确返回属性的名称?
Noob问题.
我有这种情况,我有这些对象:
class Address
{
string Street;
string City;
...
}
class User
{
string UserID;
Address BillingAddress;
Address MailingAddress;
...
}
Run Code Online (Sandbox Code Playgroud)
使用(流畅的)nHibernate存储这些数据的正确方法是什么?我可以使用一个单独的地址表并创建一个引用,但它们是1:1的关系,所以我真的不想招致连接的开销.理想情况下,我会将其存储为单个平面记录.
所以,我的问题是,以这样一种方式存储"用户"类实例的正确方法是什么,它将其内容以及两个地址存储为单个记录?我的知识让我失去了如何以两种地址记录获得不同列名(例如BillingAddress_Street和MailingAddress_Street)的方式存储此信息,以及如何将记录读回用户实例.
这是我的单线程代码:
OnStart
{
FileSystemWatcher Watcher = new FileSystemWatcher();
Watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite |NotifyFilters.CreationTime | NotifyFilters.DirectoryName;
FileActionHandler ActionHandler = new FileActionHandler();
Watcher.Created += new FileSystemEventHandler(ActionHandler.onCreate);
}
onCreate(object source,FileSystemEventArgs e)
{
try
{
FileInfo file = new FileInfo (e.FullPath);
String output = <FileName>File.Name + <FullPath>File.FullName + <FileSize>File.Length + <CreationTime>File.CreationTime + <LastAccess>File.LastAccess + <LastWriteTime>File.LastWriteTime;
LogToTextFile(output);
}
catch
{
LogToTextFile(ex.GetBaseException().Message);
}
}
private void LogToTextFile(String s)
{
FileStream fileStream = new FileStream(@"c:\Log.txt", FileMode.Append, FileAccess.Write);
StreamWriter sw = new StreamWriter(fileStream);
sw.WriteLine(s);
sw.Flush();
sw.Close();
fileStream.Close(); …
Run Code Online (Sandbox Code Playgroud) c# ×6
.net ×3
algorithm ×1
architecture ×1
asp.net ×1
decimal ×1
expression ×1
java-ee ×1
localization ×1
mvp ×1
mysql ×1
properties ×1
rounding ×1
types ×1
winforms ×1