문제

커뮤니티 서버 SDK의 'inlineTagScontainErtageditor'라는 제어 메소드를 무시하려고합니다.

이 컨트롤의 소스를 찾으면 'TaggableContentTagedItableList'라는 다른 클래스가있는 파일 내부에 있습니다.

관련 부분은 다음과 같습니다.

namespace CommunityServer.Controls
{
    public class TaggableContentTagEditableList : WrappedContentBase, ICallbackEventHandler
    {
       protected virtual InlineTagsContainerTagEditor GetInlineTagEditor(ITagsContainer container)
        {
            return new InlineTagsContainerTagEditor(container);
        }

    }
    public class InlineTagsContainerTagEditor : TWC.InlineEditor
    {
        ITagsContainer _container;

        public InlineTagsContainerTagEditor(ITagsContainer container)
            : base()
        {
            _container = container;
        }

    }
}

나는 단지 특정 '태그'를 제거하는 TaggableContentEditableList 버전을 만들려고 노력하고 있습니다. 그 방법은 아래에서 무시하려고 시도했지만 매우 길을 잃었습니다. 생성자가 내 재정의 메소드로 올바른 유형을 찾도록하려면 TaggableContentTagedItableList의 생성자를 무시해야합니까?

public partial class TaggableContentEditableListExclude : TaggableContentTagEditableList
{
    protected override InlineTagsContainerTagEditor GetInlineTagEditor(ITagsContainer container)
    {
        return new TagExcludeOption(container);
    }
}

public partial class TagExcludeOption : InlineTagsContainerTagEditor
{
    ITagsContainer _container;

    public TagExcludeOption(ITagsContainer container) : base(container)
     {
        _container = container;
    }

    public override string FormatTags(string[] tagList)
    {
        // strip special tags
        string[] newTagList = stripTags(tagList);
        return base.FormatTags(newTagList);
    }

    private string[] stripTags(string[] tagList)
    {
        //doing something here
    }
}
도움이 되었습니까?

해결책

당신의 문제는 당신의 재정의 Formattags에있는 것 같습니다

스트리핑 된 태그로 새 문자열을 만들고 있지만 이전 문자열을베이스에 보냅니다.

이전 문자열이 변경되지 않았으므로 재정의가 아무것도하지 않습니다.

노력하다

public override string FormatTags(string[] tagList)
{
    // strip special tags
    string[] newTagList = stripTags(tagList);
    return base.FormatTags(newTagList);
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top