小编One*_*key的帖子

如何使用带有XDocument的构造函数将XML反序列化为对象?

我有一节课:

public class MyClass
{
   public MyClass(){}
}
Run Code Online (Sandbox Code Playgroud)

我希望能够使用XMLSeralizer直接在构造函数中反序列化XDocument:

public class MyClass
{
   private XmlSerializer _s = new XmlSerializer(typeof(MyClass));

   public MyClass(){}
   public MyClass(XDocument xd)
   {
      this = (MyClass)_s.Deserialize(xd.CreateReader());
   }
}
Run Code Online (Sandbox Code Playgroud)

除了我不允许在构造函数中指定"this".

这可能吗?

.net c# xml xml-serialization linq-to-xml

11
推荐指数
3
解决办法
1万
查看次数

C#静态和常量有什么区别?

正如它所说.我将在我正在编写的程序中定义一个常量或静态值,并且对于为什么要使用其中一个而感到困惑.作为我在询问这个问题时遇到的唯一相关问题涉及想要立即标记静态和常数的人,我怀疑我不是唯一一个对这些概念有点失落的人.

那么为什么我会使用静态,为什么我会使用常量?有什么区别?他们是同义词吗?如果是这样,那很酷,但如果不是,为什么不呢?谢谢!

c# variables static constants

5
推荐指数
2
解决办法
9721
查看次数

什么是0x%08lx?

我最近在工作的XP盒子里得到了很多蓝屏.事实上,我下载了很多用于Windows(x86)的调试工具,并且一直在分析崩溃转储.事实上,我已经将转储更改为mini,否则我可能最终会在每周工作半天,等待蓝屏完成记录详细的崩溃日志.

几乎无一例外每个转储告诉我蓝屏的原因是某种内存错误分配或错误引用,0x%08lx的内存引用0x%08lx而不能是%s.

出于好奇心,我把"0x%08lx"放入谷歌,发现很多崩溃转储包含了这个奇怪的消息.我是否认为0x%08lx是一个有意义的东西?"%s"是结尾句子"内存不能是%s"的一部分,看起来肯定是缺少变量或其他东西.

有谁知道这条消息的来源?它实际上应该是有用的,它应该是什么样的?

这不是我一直在努力解决的重大问题.奇怪的是,很多人都应该在如此多的故障转储中看到这一点,并且没有人会说:"哦,崩溃转储没有正确地完成那个消息它应该读......"

我只是好奇是否有人知道这个奇怪的错误消息artefact的目的.

debugging crash-dumps

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

为什么我不能通过字符串调用此方法?

反思新手的问题.我在Windows窗体中有一个方法:

private void handleOrderCode()
{
  //...do stuff
}
Run Code Online (Sandbox Code Playgroud)

我试图以下列方式打电话:

Type t = this.GetType();
MethodInfo mi = t.GetMethod("handleOrderCode");
if (mi != null) mi.Invoke(this, null);
Run Code Online (Sandbox Code Playgroud)

我已经确认"这个"不是空的.字符串"handleOrderCode"已被硬编码的空间将在此工作时替换为字符串变量.但是,目前"mi"在最后一行的if语句中求值时始终为null.

那么我做错了什么?

.net c# reflection method-invocation

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

具有可扩展组的分组Gridview

围绕网格视图或具有子网格视图的主题存在许多问题.我考虑过这种方法但对我的目的来说太过分了.我能找到的最接近的问题是这一个:Grouped Gridview

不幸的是,虽然这对如何创建分组行有一些建议,但它并没有让它们成为可折叠的.

我的要求是我希望用户看到分隔行的网格视图,例如

- 第1组
数据1 | 数据2 | 数据3
数据1 | 数据2 | 数据3
数据1 | 数据2 | 数据3
- 第2组
数据1 | 数据2 | 数据3
数据1 | 数据2 | 数据3
- 第 3
数据1 | 数据2 | 数据3
数据1 | 数据2 | 数据3
数据1 | 数据2 | 数据3
数据1 | 数据2 | 数据3

如果用户希望这样的观看,那么用户就可以:

+ GROUP 1
- GROUP 2
Data 1 | 数据2 | 数据3
数据1 | 数据2 | 数据3
- 第 3 组 …

asp.net jquery gridview c#-3.0

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

如何使用LINQ to XML返回XElement?

我正在模拟将返回XElement的Web服务.该服务从数据库生成其XElement.为了获得本地测试服务,我创建了一个模拟XML元素列表的XML文档.我希望通过LINQ to XML选择并返回其中一个.

所以我有一个XML文档:

<?xml version="1.0" encoding="utf-8" ?>
<customers>
    <customer ordercode="GCT/12345A">
        <title>Miss</title>
        <initials>A</initials>
        <surname>Customer</surname>
        ...
    </customer>
    <customer ordercode="GCT/12346A">
        <title>Mrs</title>
        <initials>AN</initials>
        <surname>Other</surname>
        ...
    </customer>
</customers>
Run Code Online (Sandbox Code Playgroud)

使用LINQ我想通过ordercode属性选择一个Customer元素.我只需要基本浏览客户节点的InnerXML并返回它.我尝试解析:

XElement xcust = (XElement)(from c in xdocument.Descendants("customer")
                 where c.Attribute("ordercode") == strorder
                 return c).Single();
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我也尝试过:

return new XElement("customer", [same LINQ Query]);
Run Code Online (Sandbox Code Playgroud)

我猜我需要以某种方式询问所选客户的InnerXML的查询,但我不知道该怎么做.因为大多数人只是将XML直接解析为所需的对象(因为我正在模拟来自远程服务的响应,我无法做到),所以我只能返回原始元素时找不到太多信息,因为我猜这是一个一点边缘案例用法.

xml linq xelement

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