Как скрыть методы и свойства, которые я написал в шаблоне созданного элемента после добавления в проект? - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть вопрос.Я создал пользовательский элемент управления.Мой CustomUserControl наследуется от UserControl.Я добавил несколько пользовательских методов и свойств в свой CustomUserControl.Я хотел добавить свой CustomUserControl в «Добавить новый элемент» в Visual Studio для проектов.

Для этого я использовал «Шаблон элемента» и создал шаблон.После перезапуска Visual Studio все было в порядке, и я мог добавить свой CustomUserControl, используя «Добавить новый элемент» в моем проекте.

Просто у меня проблема, когда я добавляю CustomUserControl в свой проект, методы и свойства, которые яЯ добавлен в файл шаблона, и я могу изменить их.Как я могу скрыть методы и свойства в шаблоне?Я не хочу видеть методы и свойства после добавления CustomUserControl в проект.

Примечание: Когда я добавляю свой проект CustomUserControl, создается «CustomUserControl1», который наследуется от UserControl, а не от CustomUserControl.

Мой шаблон:

public partial class CustomUserControl : UserControl
{

    private string _Version;

    [Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
    public string Version
    {
        get { return _Version; }
        private set { _Version = value; }
    }

    private void InitRequirements()
    {
        try
        {

            // ... My Code

        }
        catch (Exception exp)
        {

            throw exp;
        }
    }


}

После добавления в проект:

public partial class CustomUserControl1 : UserControl
{

    private string _Version;

    [Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
    public string Version
    {
        get { return _Version; }
        private set { _Version = value; }
    }

    private void InitRequirements()
    {
        try
        {

            // ... My Code

        }
        catch (Exception exp)
        {

            throw exp;
        }
    }


}

должно быть так:

public partial class CustomUserControl1 : CustomUserControl
{
    // Without showing methods and properties
}

Спасибо, С уважением,

1 Ответ

0 голосов
/ 05 декабря 2018

Вы можете попытаться скрыть свойства, которые вы не хотите отображать, используя ключевое слово new.

Например, если вы хотите скрыть свойство Text, вы можете добавить следующее:

[Bindable(false)]
[Browsable(false)]
public new string Text { get; set; }

Редактировать

Если вы хотите повторно использовать свой элемент управления в других проектах, вместо «Шаблон элемента» вы можете создать библиотеку или сборку иссылаться на это в своих проектах.Таким образом, вы сможете использовать его и наследовать от него, не видя код.Когда вы используете шаблон элемента, он просто создает новый UserControl на основе кода, сохраненного в шаблоне, но вы не используете сам UserControl повторно.Вы также можете создать пакет NuGet, если вы хотите управлять версиями и т.д ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...