相当于java中的C#方法

时间:2014-01-14 02:42:11

标签: c# java generics

我是编程并尝试将一些c#代码翻译成java的新手。我试图找出下面的方法究竟是做什么的。我怎样才能在java中编写相同的内容。

这是C#

中抽象类的一部分
 //
// Summary:
//     Gets a page object of the desired type that wraps this document.
//
// Type parameters:
//   TPage:
//     The WatiN.Core.Document.Page<T0>() subclass
//
// Returns:
//     The page object
public virtual TPage Page<TPage>() where TPage : Page, new();

3 个答案:

答案 0 :(得分:4)

根据您提供的文档,这将是最佳解决方案,因为您可能希望类型信息能够查找正确的页面。

public <T extends Page> T getPage(Class<T> pageClass)

然后你会像这样使用它:

MyPage page = myClass.Page(MyPage.class);

这种设计是由于Java的泛型实现基于类型擦除,所以你需要传入所需的类型作为参数来绕过它。

答案 1 :(得分:0)

TPage Page<TPage extends Page>();

默认情况下,所有方法在java中都是虚拟的,因此该部分很好。

答案 2 :(得分:0)

public abstract <TPage extends Page> TPage Page();

但是没有Java等同于C#中的“new()”约束。