Tak więc klasa ma wartość Browser property, która zwraca wartość HttpBrowserCapabilitiesBase. Obecnie używamy tej właściwości w niektórych z naszych kodów infrastruktury MVC, aby uzyskać takie informacje jak nazwa przeglądarki i numer wersji (dla danych wyjściowych do dzienników).Tworzenie klasy HttpBrowserCapabilities z ciągu UserAgent
Mamy również api, który używa ServiceStack, i chciałbym móc podłączyć go do naszej istniejącej infrastruktury. Jedyne czego brakuje to to, że można przetworzyć nazwę i wersję przeglądarki z nagłówka UserAgent (co mam dzięki IHttpRequest.UserAgent), ale potrzebuję sposobu na przeanalizowanie go.
Moje pytanie - czy jest możliwe stworzenie HttpBrowserCapabilitiesBase jakoś tylko z ciągu identyfikującego? Jedynym dostępnym podtypem widzianym na msdn jest HttpBrowserCapabilitiesWrapper, którego jedynym ctorkiem jest inna HttpBrowserCapabilitiesBase.
Myślałam, że ta klasa prawdopodobnie wyłącznie analizuje ciągu identyfikującego jakikolwiek, więc dlaczego nie ma konstruktor (string) ?? Czy istnieje podtyp, fabryka lub statyczna metoda, której nie widzę, aby to osiągnąć?
Generalnie robię to po prostu dla lenistwa - nie chcę pisać/znajduję innego parsera UserAgent, gdy wiem. Net ma taką możliwość, że go po prostu ukrywają.
HttpBrowserCapabilitiesBase jest abstrakcyjna, więc nie będziemy w stanie utworzyć wystąpienie w ogóle. – stuartd
Tak, ale HttpBrowserCapabilitiesWrapper jest jedynym spadkobiercą w msdn, którego jedyny ctor pobiera inny HttpBrowserCapabilitiesWrapper. – csauve
Musi istnieć konkret inny niż opakowanie * gdzieś * .. – csauve