Поделиться через


DataObjectMethodAttribute Класс

Определение

Определяет метод работы с данными, предоставляемый типом, тип операций, выполняемых методом, и то, является ли этот метод методом работы с данным по умолчанию. Этот класс не наследуется.

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
Наследование
DataObjectMethodAttribute
Атрибуты

Примеры

В следующем примере кода показано, как можно применить DataObjectMethodAttribute атрибут к общедоступному методу и определить тип выполняемой операции с данными, а также определить, является ли он методом данных типа по умолчанию. В этом примере NorthwindData тип предоставляет два метода данных: один для получения набора данных с именем GetAllEmployees, а другой — для удаления данных с именем DeleteEmployeeByID. Атрибут DataObjectMethodAttribute применяется к обоим методам, GetAllEmployees метод помечается как метод по умолчанию для операции Выбора данных, а DeleteEmployeeByID метод помечается как метод по умолчанию для операции Удаления данных.

[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

Комментарии

Можно использовать для идентификации DataObjectMethodAttribute методов операций с данными в типе, помеченном атрибутом DataObjectAttribute , чтобы их было проще идентифицировать вызывающими абонентами с помощью отражения. При применении атрибута DataObjectMethodAttribute к методу он описывает тип операции, выполняемой методом, и указывает, является ли метод методом операции с данными по умолчанию для типа. Такие компоненты, как ObjectDataSource элемент управления и ObjectDataSourceDesigner класс, проверяют значения этого атрибута, если они есть, чтобы определить, какой метод данных следует вызывать во время выполнения.

Конструкторы

DataObjectMethodAttribute(DataObjectMethodType)

Инициализирует новый экземпляр класса DataObjectMethodAttribute и определяет тип операций с данными, выполняемых методом.

DataObjectMethodAttribute(DataObjectMethodType, Boolean)

Инициализирует новый экземпляр класса DataObjectMethodAttribute, определяет тип операции с данными, выполняемой методом, и определяет является ли этот метод методом работы с данными по умолчанию, предоставляемым объектом данных.

Свойства

IsDefault

Возвращает значение, показывающее, является ли метод, к которому применяется атрибут DataObjectMethodAttribute, методом по умолчанию для работы с данными, предоставленным объектом данных для конкретного типа метода.

MethodType

Возвращает значение DataObjectMethodType, показывающее тип операции с данными, выполняемой методом.

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

(Унаследовано от Attribute)

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли данный экземпляр заданному объекту.

GetHashCode()

Возвращает хэш-код данного экземпляра.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

Возвращает значение, показывающее, использует ли этот экземпляр общую модель с заданным атрибутом.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

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

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.

(Унаследовано от Attribute)

Применяется к