我有以下自定义宏方法,它返回自定义对象“EmailContact”
public class EmailContactMacroMethods : MacroMethodContainer
{
[MacroMethod(typeof(EmailContact), "Get Contact Info", 1)]
[MacroMethodParam(0, "Email", typeof(string), "Email")]
public static EmailContact GetContactInfoByEmail(EvaluationContext context, params object[] parameters)
{
EmailContact email_contact = new EmailContact();
if (!string.IsNullOrEmpty(ValidationHelper.GetString(parameters[0], "")))
{
ContactInfo contact = ContactInfoProvider.GetContactInfo(parameters[0].ToString());
if (contact != null)
{
email_contact.FirstName = contact.ContactFirstName;
email_contact.LastName = contact.ContactLastName;
}
}
return email_contact;
}
}
自定义课程
public class EmailContact : IDataContainer
{
public object this[string columnName] { get => GetValue(columnName); set => throw new NotImplementedException(); }
public string FirstName { get; set; }
public string LastName { get; set; }
public List<string> ColumnNames => new List<string>() { FirstName, LastName };
public bool ContainsColumn(string columnName)
{
switch (columnName)
{
case "FirstName":
return true;
case "LastName":
return true;
}
return false;
}
public object GetValue(string columnName)
{
switch (columnName)
{
case "FirstName":
return FirstName;
case "LastName":
return LastName;
}
return null;
}
public bool SetValue(string columnName, object value)
{
throw new NotImplementedException();
}
public bool TryGetValue(string columnName, out object value)
{
if (columnName == "FirstName")
{
value = FirstName;
return true;
}
else if (columnName == "LastName")
{
value = LastName;
return true;
}
else
{
value = null;
return false;
}
}
}
我希望最终用户在点击“。”时能够看到类中的属性作为建议。在编辑器中。
目前,“名字”或“姓氏”不会作为建议出现在下拉列表中。
有没有办法解决这个问题