Mam projekt z LINQ i chcę użyć w nim mojej własnej metody. Ta metoda NoWhiteSpaces powinna zwracać łańcuch górny bez spacji.Używanie mojej własnej metody z LINQ do Entry
public static class LittleExtensions
{
public static string NoWhiteSpaces(this String s)
{
return Regex.Replace(s, @"\s", string.Empty).ToUpper();
}
}
Kiedy chcesz użyć tej metody z LINQ, tak:
static void GetHaendler()
{
using (var riaService = new gkmRia())
{
var hladany = "someone";
var haendlers = from hndlr in riaService.GetGkmHaendlerOutlet()
where hndlr.NameOutlet.NoWhiteSpaces() == hladany.NoWhiteSpaces()
select hndlr;
Console.Write(haendlers.First().NameOutlet);
}
}
otrzymuję komunikat o błędzie:
LINQ do podmiotów nie rozpoznaje „system metody. String NoWhiteSpaces (System.String) "metoda, a tej metody nie można przetłumaczyć na wyrażenie magazynu.
Jakieś rozwiązanie? Dziękuję za Twój czas.
Gdzie jest BezBielychZnakov()? –
Czy dodałeś klauzulę "using" do swojej przestrzeni nazw w pliku, w którym wykonujesz wywołanie linq? – Serge
Unikaj używania wyrażeń regularnych: 'return new string (s.Where (c =>! Char.IsWhitespace (c))).ToUpper() ' –