小编Fil*_*urt的帖子

属性未被XmlSerializer序列化

我想将类序列化为XML,为其分配XML属性.片段:

    [XmlType(TypeName = "classmy")]
    public class MyClass2 : List<object>
    {
        [XmlAttribute(AttributeName = "myattr")]
        public string Name { get; set; }
    }

    public class MyConst
    {
        public MyConst()
        {
            MyClass2 myClass2 = new MyClass2 { 10, "abc" };

            myClass2.Name = "nomm";

            XmlSerializer serializer = new XmlSerializer(typeof(MyClass2));
            serializer.Serialize(Console.Out, myClass2);
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是生成的XML看起来像这样

<?xml version="1.0" encoding="IBM437"?>
<classmy xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <anyType xsi:type="xsd:int">10</anyType>
  <anyType xsi:type="xsd:string">abc</anyType>
</classmy>
Run Code Online (Sandbox Code Playgroud)

一切都很好,唯一的例外是myClass2.Name没有被序列化.我期待着一些东西

<classmy myattr="nomm" [...]>[...]</classmy>
Run Code Online (Sandbox Code Playgroud)

...为什么不是序列化的,它怎么可能?

c# xml xmlserializer

8
推荐指数
1
解决办法
6820
查看次数

如何为属性定义别名

我想为生成的代码中的属性生成别名.到目前为止我能做的就是:

partial class Purchase
{
    public User Customer
    {
        get
        {
            return this.User;
        }

        set
        {
            this.User = value;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否还有其他方法可以在C#中定义别名.在Purchase由LINQ到SQL生成的类

.net c# .net-3.5 linq-to-sql c#-4.0

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

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

拆分并连接字符串数据的多个逻辑"分支"

我知道关于排列列表的问题有几个类似的措辞问题,但它们似乎并没有真正解决我正在寻找的问题.我知道有办法做到这一点,但我画了一个空白.我有一个类似于这种格式的平面文件:

Col1|Col2|Col3|Col4|Col5|Col6
a|b,c,d|e|f|g,h|i
. . .
Run Code Online (Sandbox Code Playgroud)

现在就是诀窍:我想创建这些行的所有可能排列的列表,其中行中以逗号分隔的列表表示可能的值.例如,我应该可以IEnumerable<string>将上面的代表表示为行:

IEnumerable<string> row = new string[] { "a", "b,c,d", "e", "f", "g,h", "i" };
IEnumerable<string> permutations = GetPermutations(row, delimiter: "/");
Run Code Online (Sandbox Code Playgroud)

这应该生成以下字符串数据集合:

a/b/e/f/g/i
a/b/e/f/h/i
a/c/e/f/g/i
a/c/e/f/h/i
a/d/e/f/g/i
a/d/e/f/h/i
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎优雅地适合递归方法,但显然我有一个星期一的坏情况,我不能完全围绕如何接近它.一些帮助将不胜感激.应该是GetPermutations(IEnumerable<string>, string)什么样的?

c# recursion

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

设备上的媒体系列格式不正确.SQL Server无法处理此媒体系列

我试图在SQL服务器中恢复.BAK但收到以下错误:

Msg 3241,Level 16,State 7,Line 1设备'c:\ glyn\JA.bak'上的媒体系列格式不正确.SQL Server无法处理此媒体系列.消息3013,级别16,状态1,行1 RESTORE DATABASE异常终止.

我尝试使用2012年,2008年甚至2005年进行恢复,但没有任何作用,我使用了以下查询并通过任务>>备份但没有任何作用,这是我的SQL:

RESTORE DATABASE JA FROM DISK='c:\glyn\JA.bak'
Run Code Online (Sandbox Code Playgroud)

有没有人有什么建议?我已经读过bak可能已损坏,它是由另一位正在研究该项目的DVD开发人员发送给我的.

sql-server backup database-restore database-backups

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

在声明期间初始化并创建速记getter/setter

如何在声明期间初始化成员变量并创建getter/setter简写?是否可以或者必须使用构造函数来赋值?

例如,我想做类似的事情

public class Money
{
   public int dollars = 200 {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

要么

public int dollars = 200;

dollars 
{
    get;
    set;
}
Run Code Online (Sandbox Code Playgroud)

c# getter setter

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

每台计算机应用程序的一个实例,如何?

我试图让我的应用程序只在计算机上运行一次,我的应用程序需要通信到web服务,所以让它运行不止一次是不好的,目前我正在使用Mutex:

MyMsg := RegisterWindowMessage('My_Unique_App_Message_Name');
Mutex := CreateMutex(nil, True, 'My_Unique_Application_Mutex_Name'); 
if (Mutex = 0) OR (GetLastError = ERROR_ALREADY_EXISTS) then
exit;
Run Code Online (Sandbox Code Playgroud)

目前这可以限制每个用户的1个应用程序实例,但我的应用程序正在Windows服务器环境中使用,其中有20个用户同时进入,所以我需要严格要求每个服务器只运行一次,我的我试图做的是声明Mutex作为全局互斥,但我没有这样做,当我做下一个代码它根本不起作用.

 MyMsg := RegisterWindowMessage('My_Unique_App_Message_Name');
 Mutex := CreateMutex(nil, True, 'Global\My_Unique_Application_Mutex_Name'); 
 if (Mutex = 0) OR (GetLastError = ERROR_ALREADY_EXISTS) then
 begin
 exit
Run Code Online (Sandbox Code Playgroud)

我做错了什么?有没有其他可靠的方法不让我的应用程序的第二个实例运行?

delphi mutex

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

有没有办法解决设计时伪错误或让IDE忽略它们?

我有一个来自WPF扩展工具包的DataGrid,其中有几列类似于以下内容:

 <xcdg:Column Title="Description" FieldName="Description" Visible="{Binding Source={x:Reference filterDescription}, Path=IsChecked, Converter={StaticResource FilterVisibility}}" />  
Run Code Online (Sandbox Code Playgroud)

问题是这些列中的每一列都显示Visibility属性的"对象引用未设置为对象实例"的设计时错误.Intellisense看到Visibility属性就好了.一切都是功能性的,所以它并没有真正伤害任何东西,但是我有26个这样的伪造错误,它有时会让真正的问题变得痛苦.

无论如何要么使Visual Studio 2012关闭这些错误,或者某种程度上说服IDE确认它实际上是智能感知的这个属性是好的吗?我错过了一些特殊的设计时参考吗?

c# wpf datagrid visual-studio-2012

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

扫描仪不会扫描负数

我正在尝试使用Java中的Scanner类扫描负数.

我有这个输入文件:

1

-1,2,3

我的代码如下:

    Scanner input = new Scanner(new File("data/input.txt"));
    int i = input.nextInt();
    input.useDelimiter(",|\\s*"); //for future use
    int a = input.nextInt();
    System.out.println(i);
    System.out.println(a);
Run Code Online (Sandbox Code Playgroud)

我的预期输出应该是

1

-1

相反,我得到一个错误(类型不匹配).

当我做

String a = input.next();
Run Code Online (Sandbox Code Playgroud)

代替

int a = input.nextInt();
Run Code Online (Sandbox Code Playgroud)

我不再得到错误而是得到了

1

-

java java.util.scanner

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

Visual Studio代码中的多个启动文件

有没有办法从单个文件夹调试多个文件?我原本以为我可以在.settings文件夹中创建多个启动文件并选择我想要执行的文件,但这似乎不起作用.它似乎只坚持'launch.json'.

visual-studio-code

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