我有这个代码
[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 4.7项目,它安装了System.Runtime的4.3.0版本.但是当我运行项目时,我得到一个异常,说它找不到版本4.1.0.0.
如果我去nuget管理器,我在项目中安装了4.1.0.0版本,然后就可以了.所以我试图再次更新到4.3.0版本,但同样,我遇到了问题.
该项目一直工作到现在,我真的不知道为什么它停止工作,因为我没有触及任何与nuget包相关的东西.
此外,我试图创建一个新的空解决方案并添加项目,尝试一个新的解决方案,但问题是相同的.
我怎么能解决这个问题?
谢谢.
我的根目录中有一个 .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 部分中的属性按照读取的顺序应用,因此较近文件中的属性优先。
根据这个推理,我的enums规则应该“优先于”我的const_fields规则。但是,以下枚举声明继续向我发出警告:
public enum AggregationMode {
Simultaneous,
Sequential,
}
Run Code Online (Sandbox Code Playgroud)
曰:Warning IDE1006 Naming rule violation: These words …
有没有人在执行以下 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。
我在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的几何变换设置回身份.
我错过了什么?
假设我有以下使用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中表达这种单元测试用例的正确方法是什么?
我有一个 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)