小编Geo*_*ria的帖子

将阵列Json发布到.net核心web api控制器

我有这个代码

    [HttpPost("[action]")]
    public IActionResult Add([FromBody] Player player)
    {
        PlayerService.Add(player);
        PlayerService.SaveChanges();
        return Created("Player created",player.Name);
    }
Run Code Online (Sandbox Code Playgroud)

而这个json

[
  {
    "name": "Olivier Giroud",
    "league": "Premier League",
    "currentTeam": "Arsenal"
  }
]
Run Code Online (Sandbox Code Playgroud)

一切都很好.但是,如果我想发送一个json数组

[ 
  { "name": "Olivier Giroud", "league": "Premier League", "currentTeam": "Arsenal" },    
  {"name": "Lucas Perez","league": "Premier League","currentTeam":"Arsenal"}
]
Run Code Online (Sandbox Code Playgroud)

我得到一个异常"对象引用未设置为对象的实例." ".我试过List

public IActionResult Add([FromBody] List< Player >  players)    
Run Code Online (Sandbox Code Playgroud)

要么

public IActionResult Add([FromBody] IEnumerable < Player >  players)
Run Code Online (Sandbox Code Playgroud)

要么

public IActionResult Add([FromBody] Players[] players)
Run Code Online (Sandbox Code Playgroud)

但没有成功.我该怎么办?

.net c# post json asp.net-web-api

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

我无法在.net 4.7项目中使用System.Runtime 4.3.0

我有一个.net 4.7项目,它安装了System.Runtime的4.3.0版本.但是当我运行项目时,我得到一个异常,说它找不到版本4.1.0.0.

如果我去nuget管理器,我在项目中安装了4.1.0.0版本,然后就可以了.所以我试图再次更新到4.3.0版本,但同样,我遇到了问题.

该项目一直工作到现在,我真的不知道为什么它停止工作,因为我没有触及任何与nuget包相关的东西.

此外,我试图创建一个新的空解决方案并添加项目,尝试一个新的解决方案,但问题是相同的.

我怎么能解决这个问题?

谢谢.

c# visual-studio nuget

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

Editorconfig Const/Enum 设置在 Visual Studio 中不起作用

我的根目录中有一个 .editorconfig 文件,适用于我的所有 Visual Studio 项目。它包含以下规则:

# Const field naming rules
dotnet_naming_symbols.const_fields.applicable_accessibilities = *
dotnet_naming_symbols.const_fields.required_modifiers = const
dotnet_naming_rule.const_fields.symbols = const_fields
dotnet_naming_rule.const_fields.style = all_upper
dotnet_naming_rule.const_fields.severity = warning

# Enum naming rules
dotnet_naming_symbols.enums.applicable_kinds = enum
dotnet_naming_rule.enums.symbols = enums
dotnet_naming_rule.enums.style = pascal_case
dotnet_naming_rule.enums.severity = warning

# Naming Styles
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_naming_style.all_upper.capitalization = all_upper
Run Code Online (Sandbox Code Playgroud)

根据EditorConfig 文档

EditorConfig 文件从上到下读取,最接近的 EditorConfig 文件最后读取。匹配的 EditorConfig 部分中的属性按照读取的顺序应用,因此较近文件中的属性优先。

根据这个推理,我的enums规则应该“优先于”我的const_fields规则。但是,以下枚举声明继续向我发出警告:

public enum AggregationMode {
    Simultaneous,
    Sequential,
}
Run Code Online (Sandbox Code Playgroud)

曰:Warning IDE1006 Naming rule violation: These words …

c# enums constants visual-studio editorconfig

5
推荐指数
0
解决办法
1375
查看次数

Ghostscript.Net v 1.2.1 算术溢出错误

有没有人在执行以下 raster.Open 时从 Ghostscript 中看到这个特定错误:

using (var raster = new GhostscriptRasterizer())
{
raster.Open(pdfFileStream, _version, true);
Run Code Online (Sandbox Code Playgroud)

其中 _version 是:

Ghostscript.NET.GhostscriptVersionInfo _version = Ghostscript.NET.GhostscriptVersionInfo.GetLastInstalledVersion(Ghostscript.NET.GhostscriptLicense.GPL | Ghostscript.NET.GhostscriptLicense.AFPL, Ghostscript.NET.GhostscriptLicense.GPL);
Run Code Online (Sandbox Code Playgroud)

System.OverflowException: 算术运算导致溢出。在 Microsoft.WinAny.Interop.DynamicNativeLibrary.FinalizeSections(MEMORY_MODULE* memory_module) 在 Microsoft.WinAny.Interop.DynamicNativeLibrary.MemoryLoadLibrary(Byte[] data) 在 Microsoft.WinAny.Interop.DynamicNativeLibrary..ctor(Byte[] buffer) 在 Ghostscript .NET.GhostscriptLibrary..ctor(GhostscriptVersionInfo version, Boolean fromMemory) at Ghostscript.NET.Interpreter.GhostscriptInterpreter..ctor(GhostscriptVersionInfo version, Boolean fromMemory) at Ghostscript.NET.Viewer.GhostscriptViewer.Open(String path, GhostscriptVersionInfo versionInfo, Boolean dllFromMemory) at Ghostscript.NET.Viewer.GhostscriptViewer.Open(Stream stream, GhostscriptVersionInfo versionInfo, Boolean dllFromMemory) at Ghostscript.NET.Rasterizer。

c# memory-management out-of-memory ghostscript.net

5
推荐指数
0
解决办法
425
查看次数

销毁不破坏GameObject

我在Unity3D中有以下代码,用于添加和删除3D绘图的线段:

public class LinearPiecewiseTrajectory : MonoBehaviuor
{
    private List<LineSegment> lineSegmentRep;

    //other stuff here

    public void addSegment()
    {
        GameObject lineSegmentObject = new GameObject();
        lineSegmentObject.name = "LineSegment";

        LineSegment lineSegment = lineSegmentObject.AddComponent<LineSegment>();

        lineSegmentObject.transform.parent = this.transform;
        lineSegmentRep.Add(lineSegment);
    }
}

public void deleteSegment(int i)
{
    Destroy(lineSegmentRep[i]);
}
Run Code Online (Sandbox Code Playgroud)

LineSegment是我定义的MonoBehavior.

但是,此destroy调用实际上并未破坏LineSegment对象.我能找到的唯一可辨别的行为是它将旧的LineSegment的几何变换设置回身份.

我错过了什么?

c# unity-game-engine destroy

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

使用MemberData将xUnit测试用例转换为nUnit

假设我有以下使用xUnit编写的测试用例:

public static IEnumerable<object[]> testValues = new List<object[]>
{
    new object[] {new double?[] {0.0}, 0.0, 0.0},
};

[Theory]
[MemberData(nameof(testValues))]
public void Test1(double?[] values, double expectedQ1, double expectedQ3)
{
    // Test code
}
Run Code Online (Sandbox Code Playgroud)

我怎么能在nUnit而不是xUnit中表达相同的单元测试?

注意:这里的主要问题似乎是使用了MemberData,到目前为止,我还没有找到一个nUnit等价物.在nUnit中表达这种单元测试用例的正确方法是什么?

nunit xunit

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

与泛型类型的方法接口

我有一个 interface

interface Repository {
     ...
     List<T> GetAll<T>();
     ...
}
Run Code Online (Sandbox Code Playgroud)

我应该如何实施该方法?编译器说我不能像下面的节目那样做,因为我返回的不是通用列表

public class EmployeeRepository : Repository {
    ...
    public List<T> GetAll<T>() {
        List<Employee> employees = new List<Employee>();
        ...
        return employees;
}
Run Code Online (Sandbox Code Playgroud)

.net c# inheritance interface

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