猿问

C#使用已实现的显式强制转换获取强制转换异常

我有外部功能:


public int SetHeight(IWebElement column)

{

    ExtendedElement.Get(column).Click();

}

column它在调用中ExtendedElement收到的参数已经是具体类型,但是由于它接受任何IWebElement我需要的Get方法。


这是ExtendedElement重要的部分:


public class ExtendedElement : IWebElement

{

    private IWebElement _Element { get; set; }

    private ExtendedElement() {}


    public static ExtendedElement Get(IWebElement element)

    {

        return new ExtendedElement()

        {

            _Element = (RemoteWebElement)element

        };

    }


    public static explicit operator RemoteWebElement(ExtendedElement element)

    {

        return (RemoteWebElement)element._Element;

    }

    // other impmlementations

}

如何编写我从Microsoft读取的转换


出于某种原因,运行代码时出现异常: System.InvalidCastException : Unable to cast object of type 'Core.Helper.ExtendedElement' to type 'OpenQA.Selenium.Remote.RemoteWebElement'.


那为什么呢?如果我过于复杂,需要更改设计,那么目标是什么?


临摹微笑
浏览 194回答 1
1回答
随时随地看视频慕课网APP
我要回答