Delphi中如何实现类属性Set,并确保其正确性?

2026-04-10 02:301阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计436个文字,预计阅读时间需要2分钟。

Delphi中如何实现类属性Set,并确保其正确性?

假设我有以下伪原创内容作为开头和内容:

开头:假设我有以下作作为示例:TDelphiIDECompatibility=(Delphi1, Delphi2, Delphi3);

内容:从一个类,我怎么才能正确地实现上述属性?我的想法是在我的组件中,我希望有一个字段,允许您为Set中的某些元素选择。

改写后的内容:以TDelphiIDECompatibility属性为例,其值设为(Delphi1, Delphi2, Delphi3);针对类中属性的实现,我计划在组件内设置一个字段,以便您为集合中的特定元素进行选择。

假设我有以下作为示例:

TDelphiIDECompatibility = ( Delphi1, Delphi2, Delphi3);

从一个类,我怎么能正确地实现上述属性?

Delphi中如何实现类属性Set,并确保其正确性?

我的想法是,在我的组件中,我希望有一个字段,允许您为Set中的某些元素选择True或False.

我试图像这样宣布没有太多运气:

TMyClass = class private FIDECompatibility: Set of TDelphiIDECompatibility; public constructor Create; destructor Destroy; override; property IDECompatibility: TDelphiIDECompatibility read FIDECompatibility write FIDECompatibility; end;

错误消息是:

Incompatible types: ‘TDelphiIDECompatibility’ and ‘Set’

我知道的快速方法是将它们声明为常规布尔值,如下所示:

private FDelphi1Compatible: Boolean; FDelphi2Compatible: Boolean; FDelphi3Compatible: Boolean; public constructor Create; destructor Destroy; override; property Delphi1Compatible: Boolean read FDelphi1Compatible write FDelphi1Compatible; end;

但是当我可以在Set / Enumeration中定义它们时,我真的不喜欢这样吗?

我该怎么做才能正确地宣布它呢?

谢谢.

从TLama的评论中,我查看了Anchor的Delphi源代码,并在此提出了解决方案:

TDelphiIDECompatibilityKind = ( Delphi1, Delphi2, Delphi3); TDelphiIDECompatibility = set of TDelphiIDECompatibilityKind;

和班级:

private FIDECompatibility: TDelphiIDECompatibility; public constructor Create; destructor Destroy; override; property IDECompatibility: TDelphiIDECompatibility read FIDECompatibility write FIDECompatibility; end;

本文共计436个文字,预计阅读时间需要2分钟。

Delphi中如何实现类属性Set,并确保其正确性?

假设我有以下伪原创内容作为开头和内容:

开头:假设我有以下作作为示例:TDelphiIDECompatibility=(Delphi1, Delphi2, Delphi3);

内容:从一个类,我怎么才能正确地实现上述属性?我的想法是在我的组件中,我希望有一个字段,允许您为Set中的某些元素选择。

改写后的内容:以TDelphiIDECompatibility属性为例,其值设为(Delphi1, Delphi2, Delphi3);针对类中属性的实现,我计划在组件内设置一个字段,以便您为集合中的特定元素进行选择。

假设我有以下作为示例:

TDelphiIDECompatibility = ( Delphi1, Delphi2, Delphi3);

从一个类,我怎么能正确地实现上述属性?

Delphi中如何实现类属性Set,并确保其正确性?

我的想法是,在我的组件中,我希望有一个字段,允许您为Set中的某些元素选择True或False.

我试图像这样宣布没有太多运气:

TMyClass = class private FIDECompatibility: Set of TDelphiIDECompatibility; public constructor Create; destructor Destroy; override; property IDECompatibility: TDelphiIDECompatibility read FIDECompatibility write FIDECompatibility; end;

错误消息是:

Incompatible types: ‘TDelphiIDECompatibility’ and ‘Set’

我知道的快速方法是将它们声明为常规布尔值,如下所示:

private FDelphi1Compatible: Boolean; FDelphi2Compatible: Boolean; FDelphi3Compatible: Boolean; public constructor Create; destructor Destroy; override; property Delphi1Compatible: Boolean read FDelphi1Compatible write FDelphi1Compatible; end;

但是当我可以在Set / Enumeration中定义它们时,我真的不喜欢这样吗?

我该怎么做才能正确地宣布它呢?

谢谢.

从TLama的评论中,我查看了Anchor的Delphi源代码,并在此提出了解决方案:

TDelphiIDECompatibilityKind = ( Delphi1, Delphi2, Delphi3); TDelphiIDECompatibility = set of TDelphiIDECompatibilityKind;

和班级:

private FIDECompatibility: TDelphiIDECompatibility; public constructor Create; destructor Destroy; override; property IDECompatibility: TDelphiIDECompatibility read FIDECompatibility write FIDECompatibility; end;