Работа:
publicity.Target = IIF(radioTarget1.Checked, "_blank", "_self").toString
Не работает:
IIF(radioTarget1.Checked, publicity.Target = "_blank", publicity.Target = "_self")
Почему не работает второй вариант?
Поскольку внутри вызова функции вы выполняете не присваивания, а сравнения.
Это так же, как:
Dim result As Boolean If radioTarget1.Checked Then result = (publicity.Target = "_blank") Else result = (publicity.Target = "_self") End If
IIF - это функция, а не функция языка.
Вторые два параметра - это объекты, которые являются потенциальными возвращаемыми значениями функции ... не блок кода.
http://msdn.microsoft.com/en-us/library/27ydhh0d%28v=VS.90%29.aspx