小编Gre*_*reg的帖子

正确的方法来实现IXmlSerializable?

一旦程序员决定实施IXmlSerializable,实施它的规则和最佳实践是什么?我听说GetSchema()应该返回null并且ReadXml应该在返回之前移动到下一个元素.这是真的?那么WriteXml- 它应该为对象写一个根元素还是假设根已经写好了?儿童对象应如何处理和书写?

这是我现在拥有的样本.当我得到好的回复时,我会更新它.

public class MyCalendar : IXmlSerializable
{
    private string _name;
    private bool _enabled;
    private Color _color;
    private List<MyEvent> _events = new List<MyEvent>();


    public XmlSchema GetSchema() { return null; }

    public void ReadXml(XmlReader reader)
    {
        if (reader.MoveToContent() == XmlNodeType.Element && reader.LocalName == "MyCalendar")
        {
            _name    = reader["Name"];
            _enabled = Boolean.Parse(reader["Enabled"]);
            _color   = Color.FromArgb(Int32.Parse(reader["Color"]));

            if (reader.ReadToDescendant("MyEvent"))
            {
                while (reader.MoveToContent() == XmlNodeType.Element && reader.LocalName == "MyEvent")
                {
                    MyEvent evt = new …
Run Code Online (Sandbox Code Playgroud)

c# xml xml-serialization

148
推荐指数
3
解决办法
7万
查看次数

C#中有"之间"功能吗?

谷歌不明白"之间"是我正在寻找的功能的名称,并且没有任何相关内容.

例如:我想在一次操作中检查5是否在0到10之间

c#

66
推荐指数
10
解决办法
11万
查看次数

测试相等于默认值

以下内容无法编译:

public void MyMethod<T>(T value)
{
    if (value == default(T))
    {
        // do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

错误: Operator '==' cannot be applied to operands of type 'T' and 'T'

我不能使用value == null因为T可能是一个结构.
我不能用value.Equals(default(T))因为value可能null.
测试相等于默认值的正确方法是什么?

c# generics equality

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

什么JSON库在.NET中适合您?

我有兴趣了解社区中的JSON库人员在.NET中使用过什么?我需要从.NET(C#)内部解析/序列化一些JSON对象图到实际的.NET类型.我可以自己动手,但是如果有人使用了一些实体库,我想听听你的意见.我在json.org网站上看到了图书馆列表,但它是一个相当大的列表,社区通常擅长审查伪装者的竞争者

您对图书馆体验的任何细节(优点/缺点)都将非常有用. - 提前致谢.

c# serialization json

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

reCAPTCHA接受两个单词中的一个单词

我对reCAPTCHA的工作原理有点困惑.我使用ROR实现了它.

有时即使我只指定了两个单词中的一个单词,它也会返回true,而有时它会失败.

我真的很困惑,无法理解reCAPTCHA的行为.

captcha recaptcha

24
推荐指数
2
解决办法
8092
查看次数

为什么IE限制本地HTML页面的JavaScript文件?

当我们打开本地html文件时,为什么IE会限制JavaScript文件的运行?消息说:

"为了帮助保护您的安全,Internet Explorer已限制此网页运行可以访问您的计算机的脚本或ActiveX控件.单击此处查看选项"

任何人都可以告诉我如何摆脱这个?

javascript security jquery internet-explorer internet-explorer-8

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

如果适当的话,将C#字段设为只读是否有任何好处?

我正在使用ReSharper开发一个项目.有时它会提示我可以只读取一个字段.这有什么表现或其他好处吗?我认为它的好处是相当低级的,或者任何好处都是纯粹的语义?

谢谢

在下面的示例中,该字段最初只是私有,但resharper提示将其设置为只读.我理解为什么它可以设置为只读,即.它是在构造函数中设置而不是再次更改,但只是想知道这是否有任何好处......

public class MarketsController : Controller
{
    private readonly IMarketsRepository marketsRepository;

    public AnalysisController(IMarketsRepository marketsRepository)
    {                
        this.marketsRepository = marketsRepository;
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑 查看MSIL的最简单方法是什么?

c# resharper cil readonly

23
推荐指数
2
解决办法
3127
查看次数

无法在位图中设置调色板

我一直在编写一个PCX解码器,到目前为止,PCX图像本身解析得很好,但我无法弄清楚如何设置位图的调色板.

我创建了一个像这样的位图:

Bitmap bmp = new Bitmap(width,
                        height,
                        stride2,
                        System.Drawing.Imaging.PixelFormat.Format8bppIndexed,
                        pixels);
Run Code Online (Sandbox Code Playgroud)

但我似乎无法使用以下方法设置调色板:

for (int i = 0; i < 256; i += 3)
{
    Color b = new Color();
    b = Color.FromArgb(palette[i], palette[i + 1], palette[i + 2]);
    bmp.Palette.Entries.SetValue(b, i);
}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我已经读完了pcx文件调色板中的每个字节并将它们存储在palette []中.从那里,我用它来设置位图调色板中的条目.如何设置颜色?

c# image bitmap image-processing palette

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

处理后调用MemoryStream.ToArray()是否危险?

在下面的代码中,GC是否有可能清除MemoryStream以使ToArray失败,因为它在using语句之外?

private static byte[] getBytes()
{
    MemoryStream ms = null;

    using (ms = new MemoryStream())
    {
        // ...
    }

    return ms.ToArray();
}
Run Code Online (Sandbox Code Playgroud)

c# stream

21
推荐指数
1
解决办法
4460
查看次数

SQLite是否支持SCOPE_IDENTITY?

我正在尝试执行一个简单的INSERT并返回标识(自动递增主键).我试过了

cmd.CommandText = "INSERT INTO Prototype ( ParentID ) VALUES ( NULL ); SELECT SCOPE_IDENTITY();";
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

EnvironmentError: SQLite error
no such function: SCOPE_IDENTITY

SQLite是否支持SCOPE_IDENTITY?
如果是这样,我该如何使用它?
如果没有,我的(最好是"线程安全")替代品是什么?

sql sqlite

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