我在我的项目中使用xml-serialization来基于xml架构序列化和反序列化对象.我使用xsd工具创建在序列化/反序列化对象时使用的类.
当我在发送之前序列化对象时,我被迫将*Specified属性设置为true,以强制序列化程序序列化所有非类型的属性string.
有没有办法强制所有属性的序列化,而不必将*Specified属性设置为true?
我正在尝试编写一个函数,将DateTime.Now实例转换为它表示的秒数,以便我可以将它与另一个DateTime实例进行比较.这是我目前拥有的:
public static int convertDateTimeToSeconds(DateTime dateTimeToConvert)
{
int secsInAMin = 60;
int secsInAnHour = 60 * secsInAMin;
int secsInADay = 24 * secsInAnHour;
double secsInAYear = (int)365.25 * secsInADay;
int totalSeconds = (int)(dateTimeToConvert.Year * secsInAYear) +
(dateTimeToConvert.DayOfYear * secsInADay) +
(dateTimeToConvert.Hour * secsInAnHour) +
(dateTimeToConvert.Minute * secsInAMin) +
dateTimeToConvert.Second;
return totalSeconds;
}
Run Code Online (Sandbox Code Playgroud)
我意识到我在一年内截断了秒的计算,但我不需要我的计算精确.我真的想知道我用来计算秒数的方法是否正确.
有没有人能够更好地计算从DateTime对象给出的秒数?
另外,如果我要用C#编码,如果我要计算自0 AD以来的所有秒数,那么返回类型应该是int64吗?
我可能正在尝试使用XSD工具无法实现的功能,但在进入更简单的解决方案之前我想问一下.
我有一个XSD文件,有多个元素(和多个复杂类型),将在一个代码文件中生成多个类(我不喜欢这个).为了从XSD工具生成干净且可读的类文件,我希望将每个元素放在一个单独的代码文件中,而不是将所有元素放在一个代码文件中作为部分类.
有谁知道如何做到这一点?或者我是唯一的解决方案,将XSD分解为模式中每个xml元素的一个模式?
MSDN文章http://msdn.microsoft.com/en-us/library/x6c1kb0s(v=VS.100).aspx不提供指定是否可以完成此操作的语言.
提前感谢您的任何答案或评论.
我正在开发.NET Windows服务,我正在尝试存储将在服务启动和运行时使用的设置.我搜索了SO上的帖子,发现在项目属性中使用Settings非常适合与console和winforms应用程序一起使用.但是,Google和SO在使用Windows服务存储这些设置时是静默的.
有谁知道在.NET服务中使用这些设置是否合适?如果没有,序列化是我的下一个最佳选择吗?有没有人对服务中的设置有实际用途,发现最好使用特定的方法?
c# vb.net windows-services configuration-files visual-studio
我正在运行Jenkins版本1.527(我知道有一个更新的版本,但它已损坏,我无法在1.528中使用用户界面,并且没有机会升级到1.529)
我试图通过在我的启动脚本中执行此操作来更改Jenkins中的user.home系统属性:
export HOME=/new-home-dir
Run Code Online (Sandbox Code Playgroud)
但是,环境变量在jenkins中正确显示,user.dir显示为导出变量,但user.home不会更改.
我无法使用默认功能的原因是因为我在一个锁定用户主目录的企业中,我的用户可以在那里添加或修改文件.
任何有关更改user.home的帮助将不胜感激.
仅供参考 - 我在RHEL v6.2上运行Jenkins
试图解决方案
我正在验证表单上的输入并尝试根据所使用的控件组合提示用户输入不正确的输入.
例如,我有2个组合框和3个文本框.2个组合框必须始终具有除第一个(默认)值以外的值,但可以填充三个中的一个,或三个中的一个,或者可以填充所有文本框以使表单有效.
在一个这样的场景中,我有一个6行if语句,试图使测试易于阅读:
if ((!String.Equals(ComboBoxA.SelectedValue.ToString(), DEFAULT_COMBO_A_CHOICE.ToString())
&& !String.IsNullOrEmpty(TextBoxA.Text)
&& !String.Equals(ComboBoxB.SelectedValue.ToString(), DEFAULT_COMBO_B_CHOICE.ToString()))
||
(!String.IsNullOrEmpty(TextBoxB.Text)
|| !String.IsNullOrEmpty(TextBoxC.Text)))
{
//Do Some Validation
}
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
是否应该不惜一切代价避免这种类型的if语句?
将此测试用另一种方法包装会更好吗?(这将是一个不错的选择,因为此验证将在多个场景中发生)
感谢您的意见!
我试图将以下2种方法转换为c#,而.net编译器却没有抱怨。坦率地说,我只是不了解这两种方法在后台如何真正起作用。因此,这里的答案和解释将很棒。
public static int bytesToInt(byte b0, byte b1, byte b2, byte b3)
{
return (((int)b0 << 24) & 0xFF000000)
| (((int)b1 << 16) & 0x00FF0000)
| (((int)b2 << 8) & 0x0000FF00)
| ((int)b3 & 0x000000FF);
}
public static byte[] charToBytes(char c)
{
byte[] result = new byte[2];
result[0] = (byte) ((c >>> 8) & 0x00FF);
result[1] = (byte) ((c >>> 0) & 0x00FF);
return result;
}
Run Code Online (Sandbox Code Playgroud)
第二种方法特别令人困惑,因为使用的移位运算符与第一种方法不同。
在此先感谢您的帮助。
我有一个使用devexpress布局控件的winform项目,我使用Visual Studio的Tab键顺序功能来设置布局控件中子控件的Tab键顺序.但是,在运行时,只有当我按Tab键时才会触发布局控件中的第一个子控件.
有没有人遇到这个问题,并知道如何解决它?
提前致谢.
我试图拉回加载到表中的某些记录的前五个实例.重要的是要注意我试图从同一个表中得到我的结果,我认为有一个问题,我无法弄清楚这是一个表的事实.以下是我的查询示例:
Select * From (
Select Top 5 JobID From Jobs Where JobTypeID = 1 Order By JobID DESC
UNION ALL
Select Top 5 JobID From Jobs Where JobTypeID = 2 Order By JobID DESC
UNION ALL
Select Top 5 JobID From Jobs Where JobTypeID = 3 Order By JobID DESC
UNION ALL
Select Top 5 JobID From Jobs Where JobTypeID = 4 Order By JobID DESC
UNION ALL
Select Top 5 JobID From Jobs Where JobTypeID = 5 Order …Run Code Online (Sandbox Code Playgroud)