Widoczność metody rozszerzającej z poziomu WebService

0

Witam

Mam problem. Posiadam WebService, który udostępnia metody oraz obiekty zawarte w bibliotece dll dołączonej do niego. W bibliotece mam jakieś tam obiekty w tym typy wyliczeniowe. Dodałem tam również metodę rozszerzającą w takiej postaci

 
 public static class EnumExtensions
    {
        public static string DisplayString(this StatesEnum value)
        {
            var info = value.GetType().GetField(value.ToString());
            var attributes = (DescriptionAttribute[])info.GetCustomAttributes(typeof(DescriptionAttribute), false);
            return attributes.Length == 1 ? attributes[0].Description : value.ToString();
        }
    }

Niestety z poziomu aplikacji klienckiej, która korzysta z WebService nie mam dostępu do tej metody rozszerzającej. Nie wiem w czym może być problem, aktualizowałem referencje do WebService dodawałem referencje od nowa. Mam dostęp do obiektów znajdujących się w bibliotece dołączonej do niego, zaś do klasy rozszerzającej nie mam.

0

A odpowiedni using masz?
Mówisz o kodzie w pliku cs czy w aspx?

0
somekind napisał(a):

A odpowiedni using masz?
Mówisz o kodzie w pliku cs czy w aspx?

Mam odpowiedni using. Metoda rozszerzająca jest widoczna dla danego enuma z poziomu WebService i biblioteki do niego dołączonej. Natomiast z poziomu aplikacji klienckiej, która łączy się z WebServicem mam spokojny dostęp do obiektów znajdujących się w bibliotece dołączonej do WebService. Widzę enuma z poziomu aplikacji klienckiej. Nie wiem w sumie gdzie może być błąd. Klasa jest typu public metoda też, nie zastosowałem nigdzie modyfikatora internal.

0

A coś w stylu [WebMethod] atrybut? Bo nad metodą tego nie widzę

0

A w tej aplikacji klienckiej masz referencję do biblioteki zawierającej EnumExtensions?

0

Tak wszystko było ok. Nie wiem czemu tak się stało, niemniej postanowiłem nie marnować na to czasu i rozwiązałem swój problem inaczej. Temat do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1