C#中的类和结构体具有几个共同的特点:
- 它们可以实例化(除了抽象类和静态类之外)
- 它们可以包含方法和属性实现
- 类型的作者定义类型的实例字段
我们通常使用“class”和“struct”来区分“引用类型”和“值类型”,但有时考虑两种类型都是有用的。此外,“引用类型”还包括接口和委托,它们不是类。因此,“class”并不意味着任何引用类型,它指的是“一个引用_(填空)_”。
例如,如果引用和值类型声明如下:
public sealed class ref String { }
public class val Int32 { }
不要像这样:
public sealed class String { }
public struct Int32 { }
那么“class”这个词可以用来表示这个概念。
我想到的最好的答案是“具体类型”,但这会让人感到困惑,因为它也可能指抽象类的非抽象子类。
有什么建议吗?
编辑
澄清一下,我不是在寻找一个能够共同描述类和结构体实例的单词。我试图描述类类型和结构体类型。
换句话说,如果“class”表示包括System.String
、System.FileInfo
等在内的一组,而“struct”表示包括System.Int32
、System.Collections.Generic.List<T>.Enumerator
等在内的一组,则我正在寻找表示这些集合的并集的单词。
编辑2
(针对Jordão的回答)回答这个问题的另一种方法是完成以下句子:“所有C#方法实现都必须声明为_(填空)_的成员。”
Types
和被实例化后的Objects
. - OdedTypes
包括各种类型,但我想排除某些类型;请参见编辑2以获得澄清。 - phoogType
。除了引用类型(类)和值类型(结构体)之外,您还有什么其他类型想到的吗? - Odedclass
或struct
声明的 C# 类型,同时排除使用关键字enum
、delegate
、interface
声明的类型。 - phoog