小编T.S*_*.S.的帖子

使用Json.Net序列化NameValueCollection的自定义子类

我有以下类我尝试序列化到Json失败了.

class HL7 : NameValueCollection
{
  public List<HL7> Children { get; set; }
  public HL7()
  {
    Children = new List<HL7>();
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经创建了这样的对象并向其添加了数据:

HL7 hl7 = new HL7();
hl7.Add("a", "123");
hl7.Add("b", "456");
hl7.Children.Add(new HL7());
hl7.Children[0].Add("c", "123");
hl7.Children[0].Add("d", "456");
Run Code Online (Sandbox Code Playgroud)

我打电话的时候

JsonConvert.SerializeObject(hl7)
Run Code Online (Sandbox Code Playgroud)

我收到

["a","b"]
Run Code Online (Sandbox Code Playgroud)

我期待以下内容:

{
  "a": "123",
  "b": "456",
  "Children": [
    {
      "c": "123",
      "d": "456",
    }
  ]
} 
Run Code Online (Sandbox Code Playgroud)

json.net

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

.NET Core - 构建项目指定 ReferencePath

我有一个带有经典参考的.NetCore平台的.csproj。我正在为开发环境使用该属性。但是我应该在 CI 环境中构建csproj,其中引用的程序集放置在不同的目录中。在经典的net4 上,我使用了MSBuild工具的参数。但是“dotnet build”没有类似的论点。作为后备,我找到了“dotnet msbuild”命令,但此工具忽略了该参数并向我显示hintpath/p:ReferencePath/p:ReferencePath=xxx

警告 MSB3245:无法解析此引用。找不到程序集“AssemblyName”。检查以确保程序集存在于磁盘上。如果您的代码需要此引用,您可能会收到编译错误。

请指导我,我可以检查什么,dotnet-build / dotnet-msbuild工具在哪里搜索引用的程序集以及如何指定该目录?

.net c# msbuild csproj .net-core

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

将控件从一个标签页移动到另一个标签页

我目前正在开发一个WinForm项目,其中有几个不同的选项卡.在每个选项卡中有各种控件,如按钮,子选项卡,文本框等...

我需要整合整个应用程序,包括从一个选项卡中获取某些控件并将它们移动到另一个选项卡.当我第一次尝试这样做时,我只需复制并粘贴控件.你可以想象,由于我没有使用控件移动属性,因此这不起作用,我真的只是在另一个选项卡上创建了新属性.因此,当我编写代码时,没有任何工作,因为没有为新控件分配代码.

当我再次尝试时,这次我剪切并粘贴它也保持与旧控件相同的属性(特别是代码中的引用名称),所以据我所知,代码应该按名称识别控件,并且应用相同的动作.但是,当我编译代码时,应用程序成功构建,但控件不执行任何操作.

在这一点上,我不知道该怎么办......

.net c# tabs winforms

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

如何合并xml流

我有这种格式的多个xml流:

XML1:

<?xml version="1.0" encoding="utf-8"?>
<Node>
      <NodeA>test1</NodeA>
      <NodeB>test2</NodeB>
      <NodeC>
         <Att>test4</Att>
         <Value1>1.0</Value1>
      </NodeC>
</Node>
<Node>
      <NodeA>test1</NodeA>
      <NodeB>test7</NodeB>
      <NodeC>
         <Att>test8</Att>
         <Value1>2.0</Value1>
      </NodeC>
</Node>
...
Run Code Online (Sandbox Code Playgroud)

xmlN:

<?xml version="1.0" encoding="utf-8"?>
<Node>
      <NodeA>test1</NodeA>
      <NodeB>test2</NodeB>
      <NodeC>
         <Att>test4</Att>
         <ValueN>5.0</ValueN>
      </NodeC>
</Node>
<Node>
      <NodeA>test1</NodeA>
      <NodeB>test7</NodeB>
      <NodeC>
         <Att>test8</Att>
         <ValueN>6.0</ValueN>
      </NodeC>
</Node>
<Node>
      <NodeA>test9</NodeA>
      <NodeB>test8</NodeB>
      <NodeC>
         <Att>test8</Att>
         <ValueN>6.0</ValueN>
      </NodeC>
</Node>
Run Code Online (Sandbox Code Playgroud)

我希望合并的xml看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<Node>
      <NodeA>test1</NodeA>
      <NodeB>test2</NodeB>
      <NodeNEW>test4</Att>
      <Value1>1.0</Value1>
      <ValueN>5.0</ValueN>
</Node>
<Node>
      <NodeA>test1</NodeA>
      <NodeB>test7</NodeB>
      <NodeNEW>test8</NodeNEW>
      <Value1>2.0</Value1>
      <ValueN>6.0</ValueN>
</Node>
<Node>
      <NodeA>test9</NodeA>
      <NodeB>test8</NodeB>
      <NodeNEW>test8</NodeNew>
      <Value1></Value1>
      <ValueN>6.0</ValueN>

</Node>
Run Code Online (Sandbox Code Playgroud)

因此,我使用不同的Value1,... ValueN创建唯一键NodeA> NodeB> NodeNEW,如果此唯一键未出现在其各自的xml中,则不分配任何内容.

最有效的方法是什么?

c# xml

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

对象数据源是在delete方法上传递customer对象而不是customerId的int

我有一个GridView和一个ObjectDataSource捆绑在一起.除了Delete方法之外,一切都很好用.它试图传递一个Customer对象而不是CustomerId我告诉它的对象.

在此输入图像描述

c# asp.net

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

在App.config文件控制台应用程序中保护部分

我试图加密控制台应用程序的App.config文件中的appSettingsconnectionStrings部分.由于某种原因section.SectionInformation.IsProtected总是返回真实.

static void Main(string[] args)
{
    EncryptSection("connectionStrings", "DataProtectionConfigurationProvider"); 
}

private static void EncryptSection(string sectionName, string providerName)
{
    string assemblyPath = Assembly.GetExecutingAssembly().Location;
    Configuration config = ConfigurationManager.OpenExeConfiguration(assemblyPath);

    ConfigurationSection section = config.GetSection(sectionName);

    if (section != null && !section.SectionInformation.IsProtected)
    {
        section.SectionInformation.ProtectSection(providerName);
        config.Save(); 
    }
}
Run Code Online (Sandbox Code Playgroud)

不知道为什么它总是回归真实.

.net c# encryption configuration

6
推荐指数
1
解决办法
3620
查看次数

无法将值NULL插入"Discriminator"AspNetUsers表列

代码首次迁移后,使用该寄存器添加用户失败:

无法将值NULL插入"Discriminator"列,表'aspnet-BSF2013-20130918101120.dbo.AspNetUsers'; 列不允许空值.

创建用户代码是项目模板(Vs2013,带EF5的MVC项目)生成的默认代码

在成功迁移之前,注册代码有效,所以我猜测会员资格已被EF更改.

c# ef-migrations entity-framework-5 visual-studio-2013

6
推荐指数
0
解决办法
1259
查看次数

发现并连接到BLE设备

我认为这个问题已经以不同的形式提出,但没有明确的答案.我希望能够发现所有可用的BLE设备并连接到它们中的任何一个.我的外围设备广告某项服务.我读了大约32feet.NET库并尝试使用它,但显然它不支持BLE,我可以通过这个库扫描我的设备的唯一方法是首先连接到Windows,然后进行发现.我还经历了这篇文章:来自BLE的C#的Acuire数据,但它对我的设备不起作用,我无法进行任何扫描.我甚至购买了TI BLE加密狗,并尝试了他们的示例应用程序:TI示例应用程序,但它不适用于我的外围设备.然后我尝试使用Windows 8示例代码用于BLE 心率应用程序,它与心率BLE传感器配合使用,但我仍然无法使用我的外围设备.

我认为我的设备存在问题,但iPhone中有一个名为LightBlue的应用程序可以发现BLE设备,也可以充当外围设备,我甚至使用该应用程序但无法使用Windows.

所以我的问题是,C#有什么方法或库可以用来扫描BLE设备并连接它们并发送/接收日期吗?

谢谢

c# windows bluetooth-lowenergy

6
推荐指数
1
解决办法
3426
查看次数

将实体框架模型映射到多个表

如何将实体框架模型映射到多个表?如何对特定表执行插入操作(通过引用存储表名的字符串)?

.net c# asp.net-mvc entity-framework

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

“经纪人”、“代理人”、“代理人”的区别

在编程代码中使用 \xe2\x80\x9cbroker\xe2\x80\x9d、\xe2\x80\x9cagent\xe2\x80\x9c 和 \xe2\x80\x9cproxy\xe2\x80\x9d 一词时,它负责什么?计算机技术中有什么特殊含义吗?有什么意见或例子吗?

\n

proxy design-patterns agent broker

6
推荐指数
1
解决办法
7078
查看次数