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 атрибут к общедоступному методу и определить тип выполняемой операции данных, а также определить, является ли он методом данных по умолчанию типа. В этом примере NorthwindData тип предоставляет два метода данных: один для извлечения набора данных с именем, а другой — для удаления данных с именемGetAllEmployeesDeleteEmployeeByID. Атрибут 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, Boolean) |
Инициализирует новый экземпляр DataObjectMethodAttribute класса, определяет тип операции данных, выполняемой методом, и определяет, является ли метод данных по умолчанию предоставляемым объектом данных. |
| DataObjectMethodAttribute(DataObjectMethodType) |
Инициализирует новый экземпляр 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) |