SetZIndex
определен на классе Panel
, который происходит от Canvas
. Компилятор генерирует предупреждение о том, что вы используете статический метод для подтипа. Это не проблема , но это может привести к путанице при использовании определенным образом. Поскольку SetZIndex
недействителен, это не должно быть проблемой.
Но представьте себе следующее:
var ftpRequest = (FtpWebRequest) HttpWebRequest.Create("ftp://my.ftp.com");
Create
на самом деле статический метод WebRequest
, но используется на HttpWebRequest
вместо этого, потому что он является производным типа и вы может сделать это. Итак, вы ожидаете, что это будет веб-запрос, который создается, не так ли? Но это не так, он генерирует FtpWebRequest
, потому что это указано в URI.
Edit:
Я хочу отметить, что, как правило, предупреждения компилятора есть по причине, что путь этот один также существует. До тех пор, пока не будет перегрузки SetZIndex
, созданного в классе Canvas
, звонок безопасен. Но, как отмечает @SriramSakthivel в комментариях, если какой-либо метод расширения или статический метод добавляется к классу Canvas
(с использованием модификатора new
) по пути, вами или кем-либо еще, он больше не будет выводить желаемый результат, а вы должен знать об этом.
В предположении, что 'Canvas' является подтипом другого типа, а' SetZIndex' определяется последним; а не «Холстом». –