属性 实例化时出现 InvalidDataException

Property InvalidDataException on instantiation

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

该代码创建了一个 LaunchLinkRequestSchema 对象,其中填充了字符串字段 RedirectOnExitUrl。但是,我在实例化时得到了一个 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

当 属性 被赋予一个值时,我不明白为什么我会看到这个错误。谁能解释一下这里发生了什么?

构造函数正在抛出错误

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

但是您是在通过 C# 的对象初始值设定项构造后提供值。

Object initializers 只是语法糖。首先构造对象,然后设置它们。完全一样:

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

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

例如

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