小编Pat*_*ick的帖子

c#xml序列化不写null

当我使用可空的DateTime序列化ac#对象时,有没有办法将空值保留在xml文件之外而不是

 <EndDate d2p1:nil="true" xmlns:d2p1="http://www.w3.org/2001/XMLSchema-instance" />
Run Code Online (Sandbox Code Playgroud)

c# xml null serialization xml-nil

4
推荐指数
1
解决办法
2395
查看次数

c#xml序列化额外的根节点

我有一个集合,我想序列化为xml文档.这堂课是:

public class Contacts{
  public List<PendingContactDTO> contacts { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

我的主要问题是现在我的xml看起来

<Contacts>
   <contacts>
       <..... all contacts>
   </contacts>
</Contacts>
Run Code Online (Sandbox Code Playgroud)

问题是,我想看起来像这样:

   <contacts>
       <..... all contacts>
   </contacts>
Run Code Online (Sandbox Code Playgroud)

有办法吗?

c# xml serialization

4
推荐指数
1
解决办法
1289
查看次数

水晶报告,子报告流程,多列方向

我们在Crystal Reports中有一份报告.在该报告中,每个页面都有一个通用标题,之后我们有多个项目.目前,项目从左到右显示,当fillend到达第二行时.所以它看起来像这样:

HEADER
A   B
C   D
E   F
Run Code Online (Sandbox Code Playgroud)

我们想要的是先填充第一列,然后填充第二列,使其显示为

HEADER
A  D
B  E
C  F
Run Code Online (Sandbox Code Playgroud)

这可能吗?

关心帕特里克

c# crystal-reports

4
推荐指数
1
解决办法
1582
查看次数

DotNetZip从其他zip的子集创建zip

我有一个大的zip文件,我需要分成多个zip文件.在我正在创建的方法中,我有一个List对象.

这是我得到的代码:

 //All files have the same basefilename/
 string basefilename = Path.GetFileNameWithoutExtension(entries[0].FileName);
 MemoryStream memstream = new MemoryStream();
 ZipFile zip = new ZipFile();
 foreach (var entry in entries)
 {
    string newFileName = basefilename + Path.GetExtension(entry.FileName);
    zip.AddEntry(newFileName, entry.OpenReader());
 }

 zip.Save(memstream);

 //this will later go in an file-io handler class.
 FileStream outstream = File.OpenWrite(@"c:\files\"+basefilename+ ".zip");
 memstream.WriteTo(outstream);
 outstream.Flush();
 outstream.Close();
Run Code Online (Sandbox Code Playgroud)

这是我在save()调用时遇到的错误:

{Ionic.Zlib.ZlibException:在Ionic.Zlib.ZlibBodec.Inflate(FlushType flush)的Ionic.Zlib.InflateManager.Inflate(FlushType flush)中的错误状态(无效块类型),位于Ionic.Zlib.ZlibBaseStream.Read(Byte [] Ionic.Zlib.DeflateStream.Read(Byte []缓冲区,Int32偏移量,Int32计数)的Ionic.Crc.CrcCalculatorStream.Read(Byte []缓冲区,Int32偏移量,Int32计数)的离子,Ionic,Int32偏移量,Int32计数) .Zip.SharedUtilities.ReadWithRetry(Stream s,Byte [] buffer,Int32 offset,Int32 count,String FileName)在离子的Ionic.Zip.ZipEntry.Write(Stream s)的Ionic.Zip.ZipEntry._WriteEntryData(Stream s) .Zip.ZipFile.Save()在Ionic.Zip.ZipFile.Save(Stream outputStream)at at

我究竟做错了什么?

.net c# dotnetzip

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

c#:使第三方对象可序列化

在我自己的对象上,我可以添加metatag [Serializable]以使其可序列化.现在我使用了第三方库,我需要将其序列化.我检查了代码,这应该不是问题.有没有办法解决这个问题而不改变第三方代码?

c# serialization

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

针对特定架构验证XDocument

我有一个已加载的XDocument文件.(确认工作).我需要验证这个文档.为此,我有一个XSD文件,我作为嵌入式资源附加到项目.我用这些代码加载xsd:

 Assembly assembly = Assembly.GetExecutingAssembly();
 Stream stream = assembly.GetManifestResourceStream("Project.Models.Ci.def.xsd");
Run Code Online (Sandbox Code Playgroud)

我现在如何根据此XSD验证XML?我只需要知道文件是否有效,所以没什么特别的.

c# xml xsd linq-to-xml

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

依赖注入在asp.net mvc中的两层

我正试图通过DI和IoC获得越来越多的熟悉.此时我理解了在MVC应用程序中使用控制器的DI的概念和实现.但假设我有一个分层应用程序.控制器调用businesslogic类,businesslogic子句调用存储库类.

如何使用DI设置第二层,即businesslogic到存储库部分.这确保了我可以在我的应用程序中的不同级别进行测试 我不想做的是从控制器将依赖性传递给存储库.

希望有人能给出一些暗示.

帕特里克

c# dependency-injection asp.net-mvc-3

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

防止在WPF代码中使用Dispatcher.Invoke

我本质上是一个网络和后端程序员.通常我尝试avaoid制作Windows程序.现在我必须创建一个WPF客户端.

我有一个后台任务,每隔一段时间就会举办一次活动.(它像轮询器一样工作,当满足标准时,会引发一个事件).Noob和我一样,我写了这个附加到事件的代码来更新UI.

    private void IsDisconnectedEvent()
    {
            UserWindow.Visibility = Visibility.Hidden;
            DisconnectWindow.Visibility = Visibility.Visible;
    }
Run Code Online (Sandbox Code Playgroud)

这给出了一个例外,因为我不在同一个线程上.经过一些谷歌搜索后,我发现我应该改变代码:

    private void IsDisconnectedEvent()
    {
        Dispatcher.Invoke(() =>
                          {
                              UserWindow.Visibility = Visibility.Hidden;
                              DisconnectWindow.Visibility = Visibility.Visible;
                          });
    }
Run Code Online (Sandbox Code Playgroud)

这是有效的,但这不是唯一的事件,因此使我的代码变得丑陋丑陋.有没有更好的方法来做到这一点?

c# wpf

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