小编Esa*_*aty的帖子

当从List <>继承类时,XmlSerializer不会序列化其他属性

我在这里有一个情况,我需要继承自己的类List<ItemType>,但是当我这样做时,XmlSerializer不会序列化我的类中声明的任何属性或字段,以下示例演示:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        DoSerialize();
    }
    private void DoSerialize()
    {
        MyClass obj = new MyClass();
        obj.Add(1);
        obj.Add(2);
        obj.Add(3);
        XmlSerializer s = new XmlSerializer(typeof(MyClass));
        StringWriter sw = new StringWriter();
        s.Serialize(sw, obj);
    }
}
[Serializable]
[XmlRoot]
public class MyClass : List<int>
{
    public MyClass()
    {
    }
    int myAttribute = 2011;
    [XmlAttribute]
    public int MyAttribute
    {
        get
        {
            return myAttribute;
        }
        set
        {
            myAttribute = value;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

结果XML:

<?xml version="1.0" encoding="utf-16"?> …
Run Code Online (Sandbox Code Playgroud)

.net c# ienumerable list xml-serialization

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

使用批处理文件将二进制文件转换为HEX表示形式

我需要将DLL文件转换为十六进制表示形式,以将其用作字符串的一部分来创建这样的sql服务器程序集

CREATE ASSEMBLY [AssemblyNameHere]
FROM 0x4D5A90000300000004000000FFFF000......continue binary data
WITH PERMISSION_SET = EXTERNAL_ACCESS

由于多种原因,我需要将此文件放入批处理文件中,但似乎FOR语句仅适用于文本文件。

binary batch-file

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

有没有办法在c#中动态获取方法名称?

我有一个案例,我将方法名称作为字符串传递给函数,但我不希望它硬编码.例如

void MyMethodName()
{
    // some code
}

void SomeOtherMethod()
{
    SomeExternalLibrary.ExternalClass.FunctionWithStringParameter("MyMethodName");
}
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

FunctionWithStringParameter(MyMethodName.ToString());
Run Code Online (Sandbox Code Playgroud)

这样我可以通过"查找所有引用"来跟踪方法调用,并且我可以毫无后顾之忧地使用重构.

c# reflection method-names

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