小编Pau*_*aul的帖子

使用Newtonsoft Json ItemConverterType的正确方法

我有一些从Web服务回来的不良数据,我无法改变.该服务返回JSON客户列表.在此列表中,每个客户还有一个工作列表.但JSON回来是一个工作的字符串.

所以:乔布斯:"[]"而不是乔布斯:[]

所以我把这个类定义为

[JsonProperty(PropertyName = "JOBS", ItemConverterType = typeof(StringToJobsConverter))]
public List<JobClass> Jobs { get; set; }
Run Code Online (Sandbox Code Playgroud)

我创建了类,并在其中创建了转换方法,如下所示:

return JsonConvert.DeserializeObject<List<JobClass>>(existingValue.ToString());
Run Code Online (Sandbox Code Playgroud)

没运气.重新调整的错误是无法转换或从System.String转换为System.Collections.Generic.List`1 [AppNamespace.JobClass].

转换器代码中的断点永远不会被命中.谁能看到我做错了什么?

UPDATE

我发现了这个问题,但不知道如何修复.转换器正在应用于列表中的JobClass.不是列表本身.我希望转换器仅应用于List反序列化一次.相反,它应用于列表中的每个JobClass记录.

c# json.net

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

VS 2015不会将我的项目构建为C#6.0

每个标签这是Visual Studio 2015中的ASP MVC项目.Razor中的代码:

@if (Model.AdditionalContacts?.Count > 0) { }
Run Code Online (Sandbox Code Playgroud)

收到错误:

功能'空传播运算符'在C#5中不可用.请使用语言版本6或更高版本.

我正在使用VS 2015.为什么这不是默认的?

采取的步骤:

  • 打开项目 Properties
  • 点击 Build
  • 点击 Advanced
  • 设置Language VersionC# 6.0
  • 清洁/重建

发生相同的错误.为什么?

[编辑]:代码直接在CS文件中正常工作.我甚至将语言切换回"默认"而不是C#6.0,它可以工作.它只在CSHTML文件中不起作用.Razor不支持吗?或许这与IIS有关?

asp.net-mvc c#-6.0 visual-studio-2015

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

无法在 Android 11 上以编程方式拍照 - 意图返回取消状态

开始一个意图:

  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  CurrentFile = new File(getTempFileString());
  CurrentUri = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".provider", CurrentFile);
  intent.putExtra(MediaStore.EXTRA_OUTPUT, CurrentUri);
  intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
  startActivityForResult(intent, IMAGE_CAPTURE);
Run Code Online (Sandbox Code Playgroud)

曾经工作。现在不行了。我在意图之后开始的方法是:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
}
Run Code Online (Sandbox Code Playgroud)

resultCode以前是RESULT_OK,但现在RESULT_CANCELED

如果我停止检查 resultCode 并跳过它,我会发现照片不存在。

根据 CommonsWare 的评论,我提取了日志。在此操作期间生成的 654 行中,有四行似乎相关。

2020-10-12 11:03:04.301 1471-1763/? E/MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed!
2020-10-12 11:03:04.310 477-2112/? I/AppsFilter: interaction: PackageSetting{240e1c6 com.[my app package]/10151} -> PackageSetting{193734c com.android.camera2/10124} …
Run Code Online (Sandbox Code Playgroud)

java android android-11

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

我可以在使用Azure VM时为Windows Phone 8开发吗?

标题说.英语中没有足够强的词可以表达我对Windows 8的仇恨.我不会将它安装在我的个人计算机上.

我希望创建一个Azure VM并在那里进行开发.但Windows 8不是VM的选项.因此,我一时兴起创建了一个2012 Server VM并下载并安装了Windows 8 SDK.它装好了.

我创建了一个Hello World应用程序并尝试运行它.我收到一条错误消息,说Hyper-V是必需的.我使用Coreinfo.exe进行检查,它表示不支持Hyper-V.我是SOL吗?

hyper-v azure windows-phone-8 windows-server-2012

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

KendoUI 网格自定义命令被多次触发

我有一个 KendoUI 网格。其中,其中一列定义了一个自定义命令:

command: { text: "Add", click: addLine }
Run Code Online (Sandbox Code Playgroud)

当用户单击按钮时,此网格会显示在 Kendo 窗口内。同一个按钮会重新渲染网格并首先清除 HTML:

$("#kendoGridQuick").html("");
$("#kendoGridQuick").kendoGrid({
Run Code Online (Sandbox Code Playgroud)

创建网格后,将显示窗口。我的问题是,无论我显示此窗口并创建网格多少次,此命令都会被准确触发。所以它第一次工作正常,但第二次被调用两次,第三次被调用三次,依此类推。

kendo-ui kendo-grid

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