AsQueryable
должен взять IEnumerable
, дженерик. NameValueCollection
реализации IEnumerable
, который отличается.
Вместо этого:
{
NameValueCollection nvc = RequestFields();
IQueryable queryable = nvc.AsQueryable();
}
Попытка OfType (это принимает неуниверсальный интерфейс)
{
NameValueCollection nvc = RequestFields();
IEnumerable canBeQueried = nvc.OfType();
IEnumerable query =
canBeQueried.Where(s => s.StartsWith("abc"));
}
На самом деле, я думаю, выход есть. Script Control включает в себя метод Execute, аналогичный методу Eval HTML VBScript. Вы можете дать ему строку, и он проверит его синтаксис.
Вы все еще можете получить его отсюда. http://www.microsoft.com/downloads/details.aspx?FamilyID=d7e31492-2595-49e6-8c02-1426fec693ac&displaylang=en
В этой старой статье MSDN описывается, как добавить сценарии в ваши приложения. http://msdn.microsoft.com/en-us/magazine/cc302278.aspx
Статья MSDN об элементе управления сценариями http://msdn.microsoft.com/en-us/library/aa227633 (VS.60) .aspx
Что-то вроде этого .. (не уверен в создании экземпляра)
Dim ScriptControl1 as New MSScript
ScriptControl1.ExecuteStatement “If (year == "2005" && type == 1) Then..End If”
Visual Studio (2005 наверняка) выделит синтаксис и предоставит вам IntelliSense для зарегистрированных dll, что очень приближает вас к проверенному синтаксису.
Кроме этого, это интерпретируемый язык, так что ты можешь сделать так много. Даже самый лучший сценарий гарантирует только состояние «это работает на моей машине».
К сожалению, я не думаю, что есть какой-либо конвертер, но, учитывая, что синтаксис vbscript довольно прост, вы, вероятно, можете довольно легко его преобразовать
Я ищу то же самое. Если вы работаете с vbscript в контексте asp, есть нечто под названием http://aspclassiccompiler.codeplex.com/ , которое, по-видимому, компилирует ваш классический asp в asp.net.
Поскольку я считаю, что это дает какие-то ошибки во время компиляции, я думаю, что синтаксические ошибки будут сообщаться во время компиляции. Хотя еще не пробовал.