2

我正在使用 Rustici Scorm Cloud API 生成一个 URL 来预览一些学习材料:

该代码创建了一个填充了字符串字段的LaunchLinkRequestSchemaRedirectOnExitUrl对象。但是,我在实例化时收到了 InvalidDataException:

代码

var l = new LaunchLinkRequestSchema() 
{
    RedirectOnExitUrl = "https://www.example.com"
};

例外

System.IO.InvalidDataException   HResult=0x80131501  
Message=RedirectOnExitUrl is a required property for  LaunchLinkRequestSchema and cannot be null  
Source=Com.RusticiSoftware.Cloud.V2   
StackTrace:
at Com.RusticiSoftware.Cloud.V2.Model.LaunchLinkRequestSchema..ctor(Nullable`1 Expiry, String RedirectOnExitUrl, Nullable`1 Tracking, String StartSco, String Culture, String CssUrl, List`1 LearnerTags, List`1 CourseTags, List`1 RegistrationTags, List`1 Additionalvalues)     
at ScormAPI_Tests.Program.Main() in
C:\...\Program.cs:line 26

在此处输入图像描述

在此处输入图像描述

我不明白为什么在给属性赋值时会看到此错误。谁能解释一下这里发生了什么?

4

1 回答 1

2

构造函数正在抛出错误

at Com.RusticiSoftware.Cloud.V2.Model.LaunchLinkRequestSchema..ctor

但是您通过 C# 的对象初始化程序在构造后提供值。

对象初始化器只是语法糖。首先构造对象,然后设置它们。这与执行以下操作完全相同:

var l = new LaunchLinkRequestSchema();
l.RedirectOnExitUrl = "https://www.example.com";

您需要在构造函数本身中提供参数,它看起来是异常的第二个参数。

例如

var l = new LaunchLinkRequestSchema(null, "https://www.example.com");
于 2020-03-17T12:08:43.067 回答