Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Создание Свойств в C#: Секреты Невидимости для Дизайнера

Delphi , Компоненты и Классы , Свойства и События

Вопрос, который часто задают разработчики, переходя с Delphi на C#, связан с возможностью создания свойств, которые не будут сохраняться в файле .dfm (аналог .designer.cs в C#). В Delphi это реализуется с помощью модификатора stored false, который позволяет указать, что значение свойства не должно сохраняться в проекте. Пример такого свойства - Connected для объекта соединения, значение которого не должно сохраняться в проекте, если он активен только во время выполнения программы.

В Delphi код для создания такого свойства выглядит следующим образом:

type
  TggAdoConnection = class(TADOConnection)
  published
    property Connected stored false;
  end;

Такая конструкция позволяет разработчику не беспокоиться о состоянии соединения во время разработки, так как это значение не будет сохранено в файле .dfm.

Перейдем к C#. Как создать свойство, которое не будет сохраняться в файле .designer.cs? Ответ заключается в использовании атрибута DesignerSerializationVisibility. Этот атрибут позволяет управлять тем, как свойство ведет себя при сериализации, включая сохранение в файлах, сгенерированных дизайнером.

Вот пример создания свойства в C#, которое аналогично свойству Connected в Delphi:

using System;
using System.ComponentModel;

public class CustomAdoConnection : System.Data.OleDb.OleDbConnection
{
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
    public new bool Connected
    {
        get { return base.State == ConnectionState.Open; }
    }
}

В этом примере свойство Connected используется для отображения состояния соединения, но не сохраняется в файле .designer.cs благодаря атрибуту DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden).

Итак, для того чтобы сделать свойство в C# невидимым для дизайнера, используется атрибут DesignerSerializationVisibility. Это позволяет разработчикам создавать свойства, аналогичные Delphi stored false, что обеспечивает большую гибкость и контроль в процессе разработки.

Создано по материалам из источника по ссылке.

Вопрос связан с созданием свойств в C#, которые не должны сохраняться в файле .designer.cs, аналогично свойствам с модификатором `stored false` в Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Свойства и События ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-05 09:59:06/0.0018420219421387/0