我是编程并尝试将一些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();
答案 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()”约束。