Avatar billede martinm Nybegynder
07. februar 2003 - 10:37 Der er 5 kommentarer og
1 løsning

Syntaks?

Jeg har fået følgende proxy genereret ifb en Web Service:
Udsnit:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute    (Name="MathServiceSoap", Namespace="http://tempuri.org/")]
    public class MathService : System.Web.Services.Protocols.SoapHttpClientProtocol {
        /// <remarks/>
        public MathService() {
            this.Url = "http://localhost/quickstart/aspplus/samples/services/MathService/CS/MathService.a" +
"smx";
}

Spørgsmålet er ganske enkelt: Hvad menes der med de tre første linjer - dem i klammerne??
Hvad betyder [xxxx] - Er det direktiver til compileren?
Avatar billede z42cool Nybegynder
07. februar 2003 - 10:53 #1
[] er såkaldte attributter der injekteres i assemblyet som metadata og efterfølgende kan udtrækkes vha. af reflektion!
Avatar billede martinm Nybegynder
07. februar 2003 - 11:06 #3
Hmmm... Det virker som et levn fra C++*g* Lidt grimt, men hvornår kan det med fordel benyttes?
Avatar billede z42cool Nybegynder
07. februar 2003 - 11:15 #4
Det er faktisk rigtig smart. Forestil dig at du f.eks. gerne vil lave et udviklingsværktøj til C# med en visual editor og en property inspector hvor programmøren kan sætte properties i GUI i stedet for i kode. Umiddelbart vil du kun være i stand til at lave en lang liste af properties idet en given property jo ikke beskriver nogen om kategorisering. Vh.a af attributter kan du specificere at en given property tilhører en bestemt kategori og du kan så i dit udviklingsværktøj vha. af refleksion inspicere klassernes properties og deres kategorier og derfor liste dem ordnet efter kategorier i stedet for "bare" en lang liste!
Avatar billede martinm Nybegynder
07. februar 2003 - 11:18 #5
Kewl! 1000 tak!
Avatar billede burningice Nybegynder
07. februar 2003 - 12:10 #6
man kan også bruge attributter til copyright og info om hvem der har lavet en klasse/metode og hvornår... forestil dig følgende

[Pauli Østerø]
[7-02-03]
private void Test() {
    Console.WriteLine("Just testing");
}

[Pauli Østerø]
[01-01-03]
private void Test2() {
    Console.WriteLine("Just testing");
}

ved hjælp af reflection kan du skrive en metode, der skriver alle metoderner i en klasse, samt hvem der har lavet dem og hvornår, ud i en lang liste... ala:

Metode  Forfatter    Dato
Test()  Pauli Østerø  06-02-03
Test2()  Pauli Østerø  01-01-03
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester