gpt4 book ai didi

c# - 在 C# 中是否可以通过以下方式重载泛型转换运算符?

转载 作者:可可西里 更新时间:2023-11-01 03:08:20 25 4
gpt4 key购买 nike

只是想知道在 C# 3.5 中是否有表示以下代码的方法:

public struct Foo<T> {

public Foo(T item) {
this.Item = item;
}

public T Item { get; set; }

public static explicit operator Foo<U> ( Foo<T> a )
where U : T {

return new Foo<U>((U)a.Item)
}
}

谢谢

最佳答案

转换运算符不能是通用的。在规范第 10.10 节中,转换运算符声明符的格式如下:

conversion-operator-declarator:    implicit   operator   type   (   type   identifier   )    explicit   operator   type   (   type   identifier   )

将它与方法头进行比较:

method-header: attributesopt method-modifiersopt partialopt return-type member-name type-parameter-listopt ( formal-parameter-listopt ) type-parameter-constraints-clausesopt

(对格式感到抱歉 - 不确定如何做得更好。)

请注意,运算符格式不包括类型参数列表或类型参数约束。

关于c# - 在 C# 中是否可以通过以下方式重载泛型转换运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1025576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com