我试图将这个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中扩展所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)