Что такое эквивалентный код C # из этого кода VB.Net? - PullRequest
1 голос
/ 16 октября 2010

У меня есть следующий фрагмент в VB.Net (веб-приложение):

Dim lnkTemp as HyperLink = dvFileInfo.FindControl("lnkPlan")

dfFileInfo - это элемент управления DetailsView из System.Web.UI.WebControls

Когда я пытаюсь преобразоватьэто в C # вот так:

HyperLink lnkTemp = dvFileInfo.FindControl("lnkPlan");

Я получаю ошибку после "=", которая гласит:

Невозможно неявно преобразовать тип 'System.Web.UI.Control' вSystem.Web.UI.WebControls.HyperLink.Существует явное преобразование (вам не хватает приведения?)

Что мне нужно сделать, чтобы исправить эту проблему?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 16 октября 2010

Просто разыграйте:

HyperLink lnkTemp = (HyperLink)dvFileInfo.FindControl("lnkPlan");

Или будьте немного безопаснее:

HyperLink lnkTemp = dvFileInfo.FindControl("lnkPlan") as HyperLink;
// check for lnkTemp == null

Автор кода VB, вероятно, должен был сделать следующее для ясности:

Dim lnkTemp As HyperLink = DirectCast(dvFileInfo.FindControl("lnkPlan"), HyperLink)
4 голосов
/ 16 октября 2010

Вам просто нужно добавить явное приведение:

HyperLink lnkTemp = (HyperLink)dvFileInfo.FindControl("lnkPlan");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...