gpt4 book ai didi

c# - 使用任何 UIViewController 子类作为方法的通用参数

转载 作者:行者123 更新时间:2023-11-29 01:39:14 26 4
gpt4 key购买 nike

我不想重复代码,因此我想我使用一种可以为我做到这一点的方法。我想要做的是使用任何 UIViewController 子类作为参数(通过引用)。我尝试过这样的事情

private void removeViewController<T>(ref object viewController){
if (viewController != null) {
viewController = (T)Convert.ChangeType (viewController, typeof(T));
viewController.RemoveFromParentViewController ();
viewController.Dispose ();
viewController = null;
}
}

并以这种方式调用它

removeFromContainer<CustomViewController> (ref customViewController);

但我无法编译。我明白了

Cannot convert 'ref CustomViewController' expression to type 'ref object'

调用removeFromContainer

Type 'object' does not contain a definition for 'RemoveFromParentViewController' and no extension method 'RemoveFromParentViewController' of type 'object' could be found.

在我的方法中(removeFromContainer)。

我该如何解决?我缺少什么?

最佳答案

您可以将您的 object 转换为类型 UIViewController 并在没有泛型的情况下使用它。

private void removeViewController(object objviewController)
{
var viewController = viewController as UIViewController
if (viewController != null)
{
viewController.RemoveFromParentViewController();
viewController.Dispose ();
}
}

关于c# - 使用任何 UIViewController 子类作为方法的通用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32611192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com