Java到C#:在Generic中扩展

Java到C#:在Generic中扩展,第1张

概述我试图将这个Java(Android)代码转换为c#(MonoDroid),但我不明白<ItemextendsOverlayItem>publicclassBalloonOverlayView<ItemextendsOverlayItem>extendsFrameLayout解决方法:它正在为type参数添加一个约束.它类似于C#中的where子句.在Java中,您有:publicclassBa

我试图将这个Java(Android)代码转换为c#(MonoDroID),但我不明白< Item extends OverlayItem>

public class BalloonOverlayVIEw<Item extends OverlayItem> extends FrameLayout

解决方法:

它正在为type参数添加一个约束.它类似于C#中的where子句.

在Java中,您有:

public class BalloonOverlayVIEw<Item extends OverlayItem> extends FrameLayout

其中Item是必须子类化或实现OverlayItem类型的类型参数.在C#中,这将被写为:

public class BalloonOverlayVIEw<Item> : FrameLayout where Item : OverlayItem

您可以看到约束如何移动到最后,但在其他方面类似.这是非常多的common practice in C# to name type parameters prefixed with a T,所以我推荐这样的名字TItem:

public class BalloonOverlayVIEw<TItem> : FrameLayout where TItem : OverlayItem

这有助于明确类型参数和普通类型之间非常重要的区别.

有关何时需要使用类型约束的讨论,请参见I go into this at length in a previous answer.

总结

以上是内存溢出为你收集整理的Java到C#:在Generic中扩展全部内容,希望文章能够帮你解决Java到C#:在Generic中扩展所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116358.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存