Try our conversational search powered by Generative AI!

ContentDelivertApi with LinkItem gives StackOverflow

Vote:
 

Hi!


I have a basic `StartPage`with a property like this:

[CultureSpecific]
        [Display(
            Name = "Column 4",
            GroupName = Global.GroupNames.PageFooter,
            Order = 340)]
        [EditorDescriptor(EditorDescriptorType = typeof(CollectionEditorDescriptor<ImageLink>))]
        public virtual IList<ImageLink> Column4 { get; set; }

Then My ImageLink has this:

public class ImageLink
    {
        [Display(
            Name = "text",
            Order = 10)]
        public string TextTest { get; set; }

        [Display(
            Name = "Image",
            Order = 10)]
        [UIHint(UIHint.Image)]
        public ContentReference ImageTest { get; set; }

        [Display(
            Name = "Link",
            Order = 20)]
        public LinkItem LinkWithError { get; set; }

        [Display(
            Name = "LinkUrl",
            Order = 30)]
        public Url LinkUrlTest { get; set; }
    }
[PropertyDefinitionTypePlugIn]
    public class ImageLinkPropertyList : PropertyList<ImageLink>
    {

    }
public class ImageLinkPropertyModel : PropertyModel<IList<ImageLink>, ImageLinkPropertyList>
    {
        public ImageLinkPropertyModel(ImageLinkPropertyList type) : base(type)
        {
            
            Value = type.List;
        }
    }
public class ImageLinkEditorDescriptor : CollectionEditorDescriptor<ImageLink>
    {
        public override void ModifyMetadata(ExtendedMetadata metadata, IEnumerable<Attribute> attributes)
        {
            
            base.ModifyMetadata(metadata, attributes);
        }
    }

and finally the converter:

[ServiceConfiguration(typeof(IPropertyModelConverter), Lifecycle = ServiceInstanceScope.Singleton)]
    public class CustomPropertyModelConverter : DefaultPropertyModelConverter
    {
        public CustomPropertyModelConverter()
        {
            ModelTypes = new List<TypeModel>
            {
                new TypeModel()
                {
                    ModelType = typeof(ImageLinkPropertyModel), ModelTypeString = nameof(ImageLinkPropertyModel), PropertyType = typeof(ImageLink)
                }
            };
        }
        public override int SortOrder { get; } = 100;
    }

And that gives me a stackoverflow exception. in the weirdest of places:
EPiServer.Shell.ObjectEditing.LocalizationServiceExtensions.GetTranslationIfNeeded()

Is it possible? Can LinkItem be added like that? Every other property type works, but not LinkItem.

#225169
Edited, Jul 07, 2020 17:08
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.