Csharp/C#教程:generics方法用法分享


generics方法用法

我在C#中有这个代码:

private static T GetPage() where T : new() { var page = new T(); PageFactory.InitElements(Browser.Driver, page); return page; } public static AboutPage About { get { return GetPage(); } } 

我试图在Java中实现这一点,因为我非常喜欢这个概念,但我对generics(尤其是c#)并不擅长。 那么,这是我的代码:

 private static  T getPage(Class cls) throws Exception{ T page = cls.newInstance(); PageFactory.initElements(driver, page); return page; } public static LoginPage Login() { return LoginPage.getPage(); } 

它根本不起作用。 我觉得我缺少基础知识,所以我非常感谢任何帮助或建议。

试试这个:

 private static  T getPage(Supplier supp) { T page = supp.get(); PageFactory.initElements(driver, page); return page; } public static LoginPage Login() { return getPage(LoginPage::new); // Passing the default constructor } 

在这里,我将T的实例化从Class转移到Supplier实例化,因为它不会抛出exception。


如果您没有Java 8,则必须使用您的代码,并调用如下:

 getPage(LoginPage.class); 

但这也意味着必须处理例外情况。

上述就是C#学习教程:generics方法用法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/985186.html

(0)
上一篇 2021年12月21日
下一篇 2021年12月21日

精彩推荐