WCF i wywołanie funkcji nie stetycznej

0

mam następujący problem: jak z wewnątrz klasy "klasadoudsotpeniania" zmienić kontrolkę richTextBox1??

kod:

[ServiceContract]
        public class klasadoudsotpeniania
        {        
            
            
            [OperationContract]      //funkcja oznaczona do udostępniania na zawnątrz
            int odpowiedz1(int a)
            {
                a = a + 55;
                return a;
            }

        }
0
  1. klasadoudsotpeniania musi jakoś mieć instancję tego richTextBoksa, albo instancję formy, zapewne jako pole w klasie.
  2. do kontrolek odwoływać się można tylko z tego samego wątka. zapewne OperationContract nie dzieje się na tym samym wątku co GUI, trzeba więc użyć InvokeRequired i Invoke.
0

ok, a jak uzyskać tę instancję?? w c były wskaźniki a c# jak tao jest zorgnizowane??

0

Klasy są jakby wskaźnikami (uchwytami), więc takie coś:

Button button2 = button1;

nie kopiuje przycisku (nie tworzy nowego obiektu), tylko kopiuje uchwyt. Obie zmienne (button1 i button2) to ten sam przycisk.

0

już się udało, zrobiłęm tak:
zadeklarowałem zeminna statyczna

static RichTextBox ri = null;

podczas tworzenia insatacji formy

private void Form1_Load(object sender, EventArgs e)
{

        ri = richTextBox1;
    }

przypisałem obiekt do statycznego uchwytu

a potem mozna z niego normalnie kozystac

dzieki pozdrawiam

2
adam_n napisał(a):

przypisałem obiekt do statycznego uchwytu

a potem mozna z niego normalnie kozystac

Normalnie? Od normalności to te wszystkie pomysły są bardzo daleko.

Wiesz w ogóle jak działają zmienne statyczne? Gdy będziesz chciał utworzyć dwie instancje tego okienka, to Twój dziwny kod będzie operował tylko na RichTextBoxie w drugim okienku. Zdajesz sobie z tego sprawę?

Dlaczego w ogóle z serwisu chcesz grzebać w interfejsie użytkownika?! Przecież usługi są po to, żeby aplikacje z nich korzystały, a nie odwrotnie! Usługi nie obchodzi kto z niej korzysta, ma być dostępna dla aplikacji napisanej w dowolnym języku i w dowolnej technologii.

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