我DataContract对WCF中的属性非常困惑.据我所知,它用于序列化类似用户定义的类型.我写了一个类,这个类在客户端公开.
[DataContract]
public class Contact
{
[DataMember]
public int Roll { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public string Address { get; set; }
[DataMember]
public int Age { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但是当我删除DataContract并且DataMember它也工作正常.我无法理解为什么它正常工作.谁能告诉我实际用途是DataContract什么?
我的服务合同是这样的
[ServiceContract]
public interface IRestServiceImpl
{
[OperationContract]
Contact XmlData(string id);
}
Run Code Online (Sandbox Code Playgroud) 今天我很惊讶地发现在C#中我能做到:
List<int> a = new List<int> { 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)
我为什么要这样做?调用什么构造函数?我怎么能用我自己的课程做到这一点?我知道这是初始化数组的方法,但数组是语言项,列表是简单的对象......
我有一个应用程序,它会将大量噪音记录到stderr,并且真的会减慢应用程序的执行速度.我想将该输出重定向到null.这可能与cmd.exe一起使用吗?
我的意思是,作为一个普通的开发人员,我会用Expression Blend实现一些我不会使用VS的东西吗?我不知道Expression Blend,乍一看看起来不是很友好/容易学习.
你在那里做什么?值得花时间学习使用它,或者我将和VS一样做?
谢谢!
编辑:我知道微软对这些工具的评价.我想知道的是,作为像我这样的开发人员,你是否尝试过Expression Blend并发现这是浪费时间,或者你认为它是一个很好的工具,你停止从VS开发WPF GUI并切换到EB.
我想在将属性赋值给属性之前使用a Converter来更改a的值StaticResource.有没有办法模拟一个Binding只会设置StaticResource转换后的值?
有点像{Binding Value={StaticResource myStatic}, Converter={StaticResource myConverter}}?
我有以下Linq查询:
result.Partials.Where(o => o.IsPositive).Min(o => o.Result)
Run Code Online (Sandbox Code Playgroud)
当result.Partials.Where(o => o.IsPositive)不包含元素时,我得到一个异常.有没有一种优雅的方法来处理这个,除了将操作分成两部分并检查null?我有一个充满类似这样的操作的课程.
编辑:这个问题与LINQ to Objects有关.
这是我得到的例外(翻译它说:序列是空的):

我认为这是不可能的,因为Int32有1位符号并且有31位数字信息,Int16有1位符号和15位数字信息,这导致有2位符号和30位信息.
如果这是真的那么我就不能有一Int32到两个Int16.这是真的?
提前致谢.
附加信息:使用Vb.Net,但我认为我可以毫无问题地翻译C#答案.
我最初想要做的是将一个转换UInt32为两个,UInt16因为这是一个与基于WORD的机器交互的库.然后我意识到这Uint不符合CLS,并试图用Int32和做同样的事情Int16.
EVEN WORSE:a = CType(c And &HFFFF, Int16);投掷OverflowException.我期望该语句与a = (Int16)(c & 0xffff);(不抛出异常)相同.
我正在寻找一种非常简单的crypt/decrypt方法.我将始终使用相同的静态密钥.我知道这种方法的风险.目前我正在使用以下代码,但在加密和删除相同的字符串后,它不会生成相同的结果(字符串中间有一些垃圾).
public static string Crypt(this string text)
{
string result = null;
if (!String.IsNullOrEmpty(text))
{
byte[] plaintextBytes = Encoding.Unicode.GetBytes(text);
SymmetricAlgorithm symmetricAlgorithm = DES.Create();
symmetricAlgorithm.Key = new byte[8] {1, 2, 3, 4, 5, 6, 7, 8};
using (MemoryStream memoryStream = new MemoryStream())
{
using (CryptoStream cryptoStream = new CryptoStream(memoryStream, symmetricAlgorithm.CreateEncryptor(), CryptoStreamMode.Write))
{
cryptoStream.Write(plaintextBytes, 0, plaintextBytes.Length);
}
result = Encoding.Unicode.GetString(memoryStream.ToArray());
}
}
return result;
}
public static string Decrypt(this string text)
{
string result = null;
if (!String.IsNullOrEmpty(text))
{
byte[] …Run Code Online (Sandbox Code Playgroud) 我正在使用TFS与VS2008和VS2010,在TFS集合中我有几个项目.
我已经将TFS根映射到本地驱动器以保留TFS文件夹结构,并且我已经完成了几个子文件夹的Get Latests.
我还下载了一个不需要的文件夹,所以我删除了本地文件夹内容,但现在在TFS中,我看到该文件夹为黑色,"最新"是.如何告诉TFS我已经在本地删除了我之前下载的文件夹?