C# class 基类 泛型 泛型的基类
时间: 2023-08-29 18:10:58 浏览: 214
在C#中,可以使用泛型来指定一个类的基类,同时也可以使用泛型约束来限制泛型类型参数的类型。通过泛型的基类和泛型约束,可以实现更加灵活和可复用的代码。
以下是一个示例代码,演示了如何定义一个泛型类,并指定其基类以及泛型约束:
```csharp
public class MyBaseClass
{
public void BaseMethod()
{
Console.WriteLine("BaseMethod called.");
}
}
public class MyGenericClass<T> : MyBaseClass where T : SomeType
{
public void GenericMethod(T item)
{
Console.WriteLine("GenericMethod called.");
// 可以访问 MyBaseClass 中的成员
BaseMethod();
// 可以使用 T 类型的参数 item 进行操作
Console.WriteLine($"Item: {item}");
}
}
```
在上面的示例中,`MyBaseClass` 是一个基类,`BaseMethod` 是其成员方法。`MyGenericClass<T>` 是一个泛型类,泛型类型参数 `T` 受到 `SomeType` 泛型约束限制,并且继承自 `MyBaseClass`。在 `MyGenericClass<T>` 中,可以访问 `MyBaseClass` 的成员方法,并且使用 `T` 类型的参数进行操作。
使用示例代码:
```csharp
MyGenericClass<int> instance = new MyGenericClass<int>();
instance.GenericMethod(42);
```
在上面的代码中,我们创建了一个 `MyGenericClass<int>` 的实例,并调用了 `GenericMethod` 方法,传入了整数类型的参数 `42`。输出结果如下:
```
GenericMethod called.
BaseMethod called.
Item: 42
```
总结起来,通过在泛型类中指定基类和泛型约束,可以使泛型类继承自指定的基类,并对泛型类型参数进行类型约束,提供更加灵活和可复用的代码。
阅读全文