Wpis z mikrobloga

Cześć Mirki :)
Pytanie #programowanie #csharp #visualstudio.
Piszę sobie małą apkę w C# Web Forms i mam problem :

public class request
{

public int id;
public string nazwa;
public string submitter;

public request()
{
this.nazwa = requestid.Text(); // BŁĄD

}

Chcę żeby w konstruktorze przy tworzeniu obiektu nazwa wrzucało mi w dany rekord stringa który zostanie wpisany z TextBoxa ( jego nazwa to request
id ). Niestety przy powyższym kodzie wyrzuca mi błąd :
CS0120 An object reference is required for the non-static field, method, or property 'Form1.request_id'.

Czytałem trochę w necie na temat tego błędu, ale niestety nie mogę znaleźć poprawnego wytłumaczenia i rozwiązania tak, żeby to działało.

Jeżeli ktoś coś, to proszę o pomoc :)
Nie bijcie za brak enkapsulacji. Tylko ćwiczę, nikt tego używać nie będzie.

Pozdrawiam serdecznie i miłego piątku ;)
  • 9
@adenosine:

CS0120 An object reference isrequired for the non-static field, method, or property 'Form1.requestid'.


Ajajaj. Dobra. 2 rzeczy które ciebie naprowadzą:

1. Gdzie jest zadeklarowana klasa request, a gdzie Form1.Twójtextbox?

2. requestid.Text() nie jest widoczny dla klasy request, ponieważ jest elementem Form1 a nie klasy request, rozwiązania są dwa:

albo w konstruktorze przekazujesz zawartość tekst przez zmienną string (broń boże nie słuchaj westsajda i nie przekazuj całej formy do konstruktora, WTF
@grubson234567:
1. Klasa request jest zadeklarowana w partial class Form1.
2. Przypadek nr 1 : Poprzez event ( Button ) - tworzy się nowy obiekt ( docelowo wyświetlany gdzie indziej ) gdzie wartość rekordu ( request.nazwa ) jest pobierana z TextBoxa.

Zrobiłem tak jak powiedziałeś, przekazałem przez stringa do klasy request , zawartość textBoxa i potem przekazuję do listView już za pomocą klasy request = działa :)

Dzięki wielkie za pomoc,