Share via


SfcObjectExtender<TSfcInstance> Class

Definition

Used as a base class for objects that needs to be extended with additional properties Allows to add these new properties to the PropertySet, so they can be accessed using PropertyProvider Also, it helps to establish dependancy between extended property and original one

public class SfcObjectExtender<TSfcInstance> : Microsoft.SqlServer.Management.Sdk.Sfc.ISfcPropertyProvider, System.ComponentModel.INotifyPropertyChanged where TSfcInstance : ISfcPropertyProvider, new()
type SfcObjectExtender<'SfcInstance (requires 'SfcInstance :> ISfcPropertyProvider and 'SfcInstance : (new : unit -> 'SfcInstance))> = class
    interface ISfcPropertyProvider
    interface ISfcNotifyPropertyMetadataChanged
    interface INotifyPropertyChanged
Public Class SfcObjectExtender(Of TSfcInstance)
Implements INotifyPropertyChanged, ISfcPropertyProvider

Type Parameters

TSfcInstance
Inheritance
SfcObjectExtender<TSfcInstance>
Derived
Implements

Constructors

SfcObjectExtender<TSfcInstance>()

default ctor. Used in code-generation scenarios

SfcObjectExtender<TSfcInstance>(TSfcInstance)

ctor

Properties

Parent

Parent object

Methods

GetParentSfcPropertySet()

Returns an instance of the parent's property set

GetPropertySet()

returns collection of the properties

OnPropertyChanged(String)

Fires PropertyChanged event, when it has any subscriber

OnPropertyMetadataChanged(String)

Fires PropertyMetadataChanged event, when it has any subscriber

parent_PropertyChanged(Object, PropertyChangedEventArgs)
parent_PropertyMetadataChanged(Object, SfcPropertyMetadataChangedEventArgs)
RegisterParentProperty(PropertyInfo)

Register property of the parent, that has not been included in properties collection (like 'Name' in SMO or collections

RegisterProperty(PropertyInfo, String)

Register an additional reflected property, dependant on the property from the parent object

RegisterProperty(PropertyInfo)

Register an additional reflected property

Events

PropertyChanged
PropertyMetadataChanged

Applies to