小编Jul*_*ian的帖子

使用DataContractSerializer"输入不是预期的" - 但它只是一个简单的类,没有有趣的东西?

我正在重构我的XML序列化,并认为我会尝试使用DataContractSerializer.一切都运行顺利,直到它需要序列化这个类:

using System;
using System.Runtime.Serialization;

namespace VDB_Sync.Model
{
[DataContract(Name="Konstant")]
public class Konstant : DataFelt
{
    [DataMember]
    private MySqlDbType mydataType;
    [DataMember]
    private object value;

    public Konstant(string navn, MySqlDbType dataType, object value)
        : base(navn, dataType, "*Konstant", false, false)
    {
        //this.navn = navn;
        this.mydataType = dataType;
        this.value = value;

        if (navn.Contains("*Løbenummer"))
        {
            navn = "*Konstant: " + Convert.ToString(value);
        }
    }

    public object Value
    {
        get
        {
            return value;
        }
    }

}
}
Run Code Online (Sandbox Code Playgroud)

它给了我这个:

键入"VDB_Sync.Model.Konstant",数据合同名称为"Konstant:http://schemas.datacontract.org/2004/07/VDB_Sync.Model",不是预期的.考虑使用DataContractResolver或将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中.

*到目前为止我找到的帮助指向了集合和类型.我的类中有一个枚举(MySqlDbType) - 但是得到这个:当我没有声明DataMembers时,我甚至得到了同样的错误:-x那么 - 这里发生了什么?我错过了什么?

作为参考,这是我如何序列化它,VDB_SessionController是根:*

    public …
Run Code Online (Sandbox Code Playgroud)

.net xml serialization xml-serialization datacontractserializer

58
推荐指数
3
解决办法
6万
查看次数

CodeSniffer为什么不排除--ignore指定的文件夹?

我正在使用Jenkins(Hudson)CI,每天晚上使用一些工具来分析代码,包括用于Checkstyle报告的Codesniffer.我不想忽略该./framework/*目录,但它坚持包含它,无论我对--ignore参数的努力如何.

该报告已成功创建和解析,但由于框架中违反Pear Coding标准的情况极为严重,因此对我们没有任何用处.

代码是从我的Ant构建脚本调用的,如下所示:

<target name="phpcs-ci" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
 <exec executable="phpcs" dir="${basedir}" output="${basedir}/build/logs/checkstyle.xml" failonerror="off">
  <arg line="--report=checkstyle --standard=${basedir}/build/phpcs.xml --extensions=php  --ignore=*/framework/* ${basedir}" />
 </exec>
</target>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了--ignore=framework,--ignore=framework/以及上面的那一行,都来自我在网络上发现的例子.

我也试过为每个参数(using < arg value"..." />)使用不同的行,但无济于事.

有任何想法吗?非常感激 :)

编辑:--ignore参数现在是:

--ignore=${basedir}/framework/
Run Code Online (Sandbox Code Playgroud)

......但仍然包含框架文件夹.有没有人有一个工作的PhpCodeSniffer配置,带有--ignore参数,有效吗?

在这里交叉手指

php ant hudson codesniffer jenkins

5
推荐指数
3
解决办法
7168
查看次数