如何在VB.NET中扩展支持任意类型的List类实现RemoveLast方法
你可以将这个扩展方法声明为泛型方法,在方法名后增加泛型参数占位符即可适配任意类型的List(Of T),无需为每种元素类型编写重复实现。
正确的实现代码如下:
Imports System.Runtime.CompilerServices Module ListExtensions <Extension()> Sub RemoveLast(Of T)(FromList As List(Of T)) ' 增加边界校验,避免空列表/空对象调用时报错 If FromList Is Nothing OrElse FromList.Count = 0 Then Exit Sub End If FromList.RemoveAt(FromList.Count - 1) End Sub End Module
- 方法名后的
(Of T)就是为当前方法定义的泛型参数,你可以把T理解为一个类型占位符,实际调用时会自动匹配传入List的元素类型,不需要手动指定 - 代码中额外增加了空对象和空列表的校验逻辑,避免
List.Count = 0时调用RemoveAt抛出索引越界异常,你可以根据自己的需求调整校验逻辑或者抛出指定异常
内容的提问来源于stack exchange,提问作者Toddleson
相关产品推荐
相关产品推荐

