Csharp/Attributter

(Omdirigert fra «Csharp/Kapittel21»)

Attributter

rediger

Atributter er en funksjon i .NET for å legge til spesielle funksjoner eller egenskaper ved objekter eller funksjoner i .NET. Syntaks for ny attribut i C#, er firkantparanteser ([]) som inneholder navnet på en attributttype, for eksempel System.ComponentModel.Browsable. Browsable attributten brukes for å spesifisere om en egenskap eller funksjon i et objekt, vil dukke opp i PropertyGrid klassen (som man kan se til høyere i Visual Studio og SharpDevelop) En kan også definere egne attributter, ved å la dem arve fra System.Attribute. Attributtnavn skal ende på "Attribute", denne delen vises ikke etterpå, men er der for å skille attributter fra andre klasser. En kan også spesifisere attributter på parameter i funksjoner, men for å spesifisere det på returverdien, må man bruke nøkkelordet return etterfulgt av kolon. (Dette må også være den første attributten som defineres) Attributter på parameter, brukes hovedsaklig til beskrive hva slags data som skal brukes i henhold til importerte dll funksjoner.

[System.ComponentModel.Description("My new class")]
public class MyNewClass 
{
  [System.Runtime.InteropServices.DllImport("SomeDll")]
  [return:System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPStr)]
  public static extern string SomeDllFunction([System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPStr)]string OneParameter);
}