DataObjectMethodAttribute Classe

Definizione

Identifica un metodo di operazione dati esposto da un tipo, il tipo di operazione eseguita dal metodo e se il metodo è il metodo dati predefinito. La classe non può essere ereditata.

public ref class DataObjectMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class DataObjectMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type DataObjectMethodAttribute = class
    inherit Attribute
Public NotInheritable Class DataObjectMethodAttribute
Inherits Attribute
Ereditarietà
DataObjectMethodAttribute
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come applicare l'attributo DataObjectMethodAttribute a un metodo esposto pubblicamente e identificare il tipo di operazione di dati eseguita, nonché se si tratta del metodo dati predefinito del tipo. In questo esempio il NorthwindData tipo espone due metodi di dati: uno per recuperare un set di dati denominato e un altro per eliminare i dati denominati GetAllEmployeesDeleteEmployeeByID. L'attributo DataObjectMethodAttribute viene applicato a entrambi i metodi, il GetAllEmployees metodo viene contrassegnato come metodo predefinito per l'operazione Seleziona dati e il DeleteEmployeeByID metodo viene contrassegnato come metodo predefinito per l'operazione Elimina dati.

[DataObjectAttribute]
public class NorthwindData
{  
  public NorthwindData() {}

  [DataObjectMethodAttribute(DataObjectMethodType.Select, true)]
  public static IEnumerable GetAllEmployees()
  {
    AccessDataSource ads = new AccessDataSource();
    ads.DataSourceMode = SqlDataSourceMode.DataReader;
    ads.DataFile = "~//App_Data//Northwind.mdb";
    ads.SelectCommand = "SELECT EmployeeID,FirstName,LastName FROM Employees";
    return ads.Select(DataSourceSelectArguments.Empty);
  }

  // Delete the Employee by ID.
  [DataObjectMethodAttribute(DataObjectMethodType.Delete, true)]
  public void DeleteEmployeeByID(int employeeID)
  {
    throw new Exception("The value passed to the delete method is "
                         + employeeID.ToString());
  }
}
<DataObjectAttribute()> _
Public Class NorthwindData

  <DataObjectMethodAttribute(DataObjectMethodType.Select, True)> _
  Public Shared Function GetAllEmployees() As IEnumerable
    Dim ads As New AccessDataSource()
    ads.DataSourceMode = SqlDataSourceMode.DataReader
    ads.DataFile = "~/App_Data/Northwind.mdb"
    ads.SelectCommand = "SELECT EmployeeID,FirstName,LastName FROM Employees"
    Return ads.Select(DataSourceSelectArguments.Empty)
  End Function 'GetAllEmployees

  ' Delete the Employee by ID.
  <DataObjectMethodAttribute(DataObjectMethodType.Delete, True)> _
  Public Sub DeleteEmployeeByID(ByVal employeeID As Integer)
    Throw New Exception("The value passed to the delete method is " + employeeID.ToString())
  End Sub

End Class

Commenti

È possibile utilizzare DataObjectMethodAttribute per identificare i metodi di operazione dei dati in un tipo contrassegnato con l'attributo DataObjectAttribute in modo che siano più facilmente identificati dai chiamanti che usano la reflection. Quando l'attributo DataObjectMethodAttribute viene applicato a un metodo, descrive il tipo di operazione eseguita dal metodo e indica se il metodo è il metodo predefinito dell'operazione dati di un tipo. I componenti, ad esempio il ObjectDataSource controllo e la ObjectDataSourceDesigner classe, esaminano i valori di questo attributo, se presenti, per determinare quale metodo di dati chiamare in fase di esecuzione.

Costruttori

Nome Descrizione
DataObjectMethodAttribute(DataObjectMethodType, Boolean)

Inizializza una nuova istanza della DataObjectMethodAttribute classe , identifica il tipo di operazione dati eseguita dal metodo e identifica se il metodo è il metodo dati predefinito esposto dall'oggetto dati.

DataObjectMethodAttribute(DataObjectMethodType)

Inizializza una nuova istanza della DataObjectMethodAttribute classe e identifica il tipo di operazione dati eseguita dal metodo .

Proprietà

Nome Descrizione
IsDefault

Ottiene un valore che indica se il metodo a cui DataObjectMethodAttribute viene applicato è il metodo di dati predefinito esposto dall'oggetto dati per un tipo di metodo specifico.

MethodType

Ottiene un DataObjectMethodType valore che indica il tipo di operazione dati eseguita dal metodo .

TypeId

Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute.

(Ereditato da Attribute)

Metodi

Nome Descrizione
Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

GetHashCode()

Restituisce il codice hash per questa istanza.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

Quando sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Ottiene un valore che indica se questa istanza condivide un modello comune con un attributo specificato.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di identificatori dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero di interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso alle proprietà e ai metodi esposti da un oggetto .

(Ereditato da Attribute)

Si applica a