C# 类中所有可定义的项是否都有一个包含性术语?

C# 类中所有可定义的项是否都有一个包含性术语?,c#,oop,C#,Oop,在C#类中,显然可以定义许多在任何形式的软件开发中都非常常见的对象 有一些变量 int i; 属性 int I { get {return i;} set {i = value;} } 方法 public int getI() { return I; } 构造函数(根据您询问的对象,可以将其视为函数) 从技术上讲,变量和属性通常被称为“对象”。同样,方法的委托可以作为对象传递,并被视为对象 我不确定的是,如果语义上,我们会把这个方法当作一个对象。关于委托/方法关系,委托不是方法。它是指向该

在C#类中,显然可以定义许多在任何形式的软件开发中都非常常见的对象

有一些变量

int i;
属性

int I { get {return i;} set {i = value;} }
方法

public int getI() { return I; }
构造函数(根据您询问的对象,可以将其视为函数)

从技术上讲,变量和属性通常被称为“对象”。同样,方法的委托可以作为对象传递,并被视为对象

我不确定的是,如果语义上,我们会把这个方法当作一个对象。关于委托/方法关系,委托不是方法。它是指向该方法的指针。呃,我倾向于不认为这个方法是一个对象。

既然如此,对于C#类(或任何OO语言)中可以定义的所有对象,包括变量、属性、方法、函数、构造函数、常量等,是否有一个可定义的、包罗万象的术语


说清楚,我不是在征求意见。我想知道,根据教科书/规范的定义,这些项目在C#和OOP中被称为什么?

它们的正确名称是。

它们的正确名称是。

它们被称为成员。。。而且它们不是对象(至少在.NET定义中不是)

如果使用反射,所有的
字段信息
方法信息
属性信息
事件信息
。。。子类
MemberInfo
,如果执行
typeof(List).GetMembers()
操作,将获得所有公共成员。此方法甚至将返回嵌套类型(因为即使
类型
也是
成员信息


请注意,
delegate
s不是作为.NET的第一级“项”存在的:它们只是一个
类,子类
多播delegate
(和/或甚至
delegate
,但这在C#中是不可行的,可能直接在IL中)

它们被称为成员。。。而且它们不是对象(至少在.NET定义中不是)

如果使用反射,所有的
字段信息
方法信息
属性信息
事件信息
。。。子类
MemberInfo
,如果执行
typeof(List).GetMembers()
操作,将获得所有公共成员。此方法甚至将返回嵌套类型(因为即使
类型
也是
成员信息


请注意,
delegate
s不是作为.NET的第一级“项”存在的:它们只是一个
类,子类
多播delegate
(和/或甚至可能
delegate
,但这在C#中是不可行的,可能直接在IL中)

您忘记了
事件和嵌套类型…”类成员“,我想。@xantos取决于你问谁,我错过了很多。我不想创建完整的列表。我只想用广义术语来表示列表中的任何内容。net中的对象是派生自(所有类、结构、枚举和委托)的对象,不要这样称呼成员。你忘记了
事件和嵌套类型…“类成员”,我想。@xantos取决于你问谁,我遗漏了很多。我不想创建完整的列表。我只想要列表中任何东西的广义术语。net中的对象是派生自(所有类、结构、枚举和委托)的对象,不要这样称呼成员。我主要要求的是C。奇怪的是,这在OOP中通常是正确的吗?(在微软开发领域内外?)我想是的,但是每种编程语言都有自己的名字。我想成员是一个相当通用的术语,所以它适合大多数语言。请参见过程、函数和方法中的差异。@RLH,.net中的所有术语都是术语的子集。OOP更通用、更抽象。然而,当你和某人交谈时,你可以告诉他你的术语是在什么上下文中使用的(因为有些语言需要更多的术语,或者使用它们的意义有限,例如,等等)。告诉他“C#很酷,java suxx”或类似的话,让他更清楚;)我主要是要C。奇怪的是,这在OOP中通常是正确的吗?(在微软开发领域内外?)我想是的,但是每种编程语言都有自己的名字。我想成员是一个相当通用的术语,所以它适合大多数语言。请参见过程、函数和方法中的差异。@RLH,.net中的所有术语都是术语的子集。OOP更通用、更抽象。然而,当你和某人交谈时,你可以告诉他你的术语是在什么上下文中使用的(因为有些语言需要更多的术语,或者使用它们的意义有限,例如,等等)。告诉他“C#很酷,java suxx”或类似的话,让他更清楚;)我不会详细说明这个问题,但我认为@Sinatr在上面的问题评论中提出了一个很好的观点(或者至少我是如何解释这个评论的)。这些设备在类中的位置被称为成员。然而,作为一个群体,我们称之为变量、方法、构造函数等等。这些是编码设备,用来作为一个类组合在一起。作为一个群体,在不存在任何关系的情况下,我们称之为什么。这可能是唯一的答案,但对于我们可以在OO代码中定义/创建的所有内容,似乎都应该有一些非常高级的定义。@RLH我不理解您的评论。Sinatr唯一的评论是关于他们不是目标的事实。我也这么说(它们不是对象(至少在.NET定义中不是)。请注意,您所称的变量位于真值字段中。变量是方法体的局部“事物”。我不会详细说明这个问题,但我认为@Sinatr在上面的问题注释中提出了一个很好的观点(或者至少我是如何解释注释的)。这些设备在类中存在的地方被称为成员。然而,作为一个群体,我们将变量、方法、构造函数等称为什么
public myClass() { i = -1; }