小编Sub*_*sis的帖子

WCF DataContract中的构造函数未反映在客户端上

当我在客户端上创建DataContract的实例时,我需要让一些数据成员获得一些值.使用构造函数不会发生这种情况.我搜索了不同的论坛,发现我们必须使用[OnDeserializing]和[OnDeserialized]属性.这也行不通.有人可以在这里提出一些建议.另一种方法是在客户端的部分类中创建构造函数.我想避免这种情况.

请找到以下代码:

服务器端:Datacontract

[DataContract]
public class Account
{

    private int mAccountId;
    private string mAccountName;

    public Account()
    {
        mAccountId = 5;
        mAccountName = "ABC";
    }

    [OnDeserializing]
    public void OnDeserializing(StreamingContext context)
    {
        mAccountId = 5;
        mAccountName = "ABC"; 
    }

    [OnDeserialized]
    public void OnDeserialized(StreamingContext context) 
    {

    } 

    [DataMember]
    public int AccountId
    {
        get
        {
            return mAccountId;
        }
        set
        {
            mAccountId = value;
        }
    }

    [DataMember]
    public string AccountName
    {
        get
        {
            return mAccountName;
        }
        set
        {
            mAccountName = value;
        }
    }


}
Run Code Online (Sandbox Code Playgroud)

客户端 …

wcf datacontract

9
推荐指数
2
解决办法
2万
查看次数

String.Equals vs String.Compare vs"=="in Action.需要说明

以下是控制台应用程序的代码片段 -

class MyClass
{        
   public int GetDay(string data22)
    {
        int returnValue = 0;

        if (string.Compare(data22,"THURSDAY") == 0) // true
        {
            returnValue = (int)DayOfWeek.Thursday;
        }

        if (data22 == "THURSDAY") //false
        {
            returnValue = (int)DayOfWeek.Thursday;
        }

        if (string.Equals(data22, "THURSDAY"))//false
        {
            returnValue = (int)DayOfWeek.Thursday;
        }
        return returnValue;
    }
}

class Program
{
    static void Main(string[] args)
    {
        string ExecutionDay = "?THURSDAY";
        MyClass obj1 = new MyClass();
        int MyDays = obj1.GetDay(ExecutionDay);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是 - 为什么第一次比较(string.compare)有效,而另外两种比较方法在这个特殊情况下不起作用?

.net c# string string-comparison

9
推荐指数
1
解决办法
6322
查看次数

msbuild xmlupdate在web.config中删除节点

如何使用MSBuild社区任务删除web.config中的节点.我可以使用XmlUpdate任务更新节点,但我无法删除节点.有任何想法吗.

msbuild msbuild-task

7
推荐指数
1
解决办法
2910
查看次数

javascriptserializer日期格式问题

我正在将具有其他类型和列表的许多属性的复杂对象序列化为JSON格式,但问题在于DateTime属性.我用JavascriptSerializer获得了纪元时间(而不是mm/dd/YYYY).

有没有什么方法可以获得mm/dd/YYYY:HH.MM.SS形式的日期时间而不修改我序列化的对象的类定义.

datetime json javascriptserializer

2
推荐指数
1
解决办法
6827
查看次数

四位数的正则表达式(或"默认")

我需要一个用逗号分隔的四位数字的正则表达式("default"也可以是一个值).

例子:

  1. 6755
  2. 3452,8767,9865,8766,3454
  3. 7678,9876
  4. 1234,9867,6876,9865
  5. default

注意:"default"单独应匹配,但default,1234,7656不应匹配.

regex xsd

0
推荐指数
1
解决办法
6475
查看次数