Zostałem osiodłany za pomocą wewnętrznej biblioteki dostępu do danych, która jest skutecznie XML przekazywane do procedury przechowywanej, która zwraca XML. Nic nie mogę na to poradzić. Próbowałem zatwierdzić ActiveRecord, ale moja prośba została odrzucona. Jednakże, używając doskonałego kodu podanego pod numerem http://blog.bodurov.com/Post.aspx?postID=27, dodałem metodę rozszerzenia do IEnumerable, która konwertuje pary klucz-wartość, które wykonuję z niewyrównanego XML, powracającego do silnie wpisanych obiektów, wraz z nazwami właściwości!Jak dołączyć metodę do dynamicznie tworzonego typu C# w środowisku wykonawczym?
to:
dict["keyName1"]
staje
MyObject.keyName1
Teraz interfejs obsługuje wiązania z danymi! Całkiem fajne! Chciałbym jednak pójść o krok dalej. Chcę, aby emitowane obiekty posiadały również metody Save(), dzięki czemu będę mógł korzystać z wzorca ActiveRecord i dostarczać moim użytkownikom WWW intuicyjną warstwę obiektów do użycia z ASP.net.
Jak napisać metodę w Visual Studio, w kodzie źródłowym i dołączyć ją w czasie wykonywania do emitowanych obiektów? Nie jestem zainteresowany (lub kwalifikuję się do) pisaniem zgromadzeń lub IL. Chciałbym to zrobić w języku C#. To jest moje pierwsze pytanie dotyczące StackOverflow i zamieszczam to za pomocą IE6 z upoważnieniem firmy, więc proszę, bądźcie łagodni.
"jeśli struktura XML będzie taki sam za każdym razem, SP wykonuje" uzyskać BRD 1245 RFW 3456 InstanceName> Nazwa projektu! itd. o różnych atrybutach za każdym razem :( –
Tak, ale jestem pewien, że istnieje lista atrybutów dostępnych do wyboru. Umieść wszystkie te atrybuty w klasie jako pola zerowalne (jeśli są to typy wartości) i zapełniać tylko te, które otrzymujesz, nie sądzę, że musisz użyć jakiegoś szalonego rozwiązania, aby dynamicznie budować typ ... – BFree
XML jest generowany dynamicznie i nie chcę mieć biblioteki konkretnych klas dla każdej permutacji –