SfcProxyInstance<K,T,TRef> Class


The generic base class for a proxy to another target instance. The properties available are the proxy instance properties plus plus the target instance properties. If both the proxy and target instances have the same name for a property, then the proxy property is the one that is exposed. All target instance properties can always be obtained by explicitly accessing the proxy.Reference property which is the target instance.

public abstract class SfcProxyInstance<K,T,TRef> : Microsoft.SqlServer.Management.Sdk.Sfc.SfcInstance<K,T> where K : SfcKey where T : SfcInstancenew() where TRef : SfcInstance
type SfcProxyInstance<'K, 'T, 'Ref (requires 'K :> SfcKey and 'T :> SfcInstance and 'T : (new : unit -> 'T) and 'Ref :> SfcInstance)> = class
    inherit SfcInstance<'K, 'T (requires 'K :> SfcKey and 'T :> SfcInstance and 'T : (new : unit -> 'T))>
Public MustInherit Class SfcProxyInstance(Of K, T, TRef)
Inherits SfcInstance(Of K, T)

Type Parameters


The type of the key for the proxy instance class.


The type of the proxy instance class.


The type of the target reference instance class.




Construct a new proxy instance to an unknown target reference. The reference will be resolved upon first access to the Reference property.


Construct a new proxy instance to a known target reference.


AbstractIdentityKey (Inherited from SfcInstance)
IdentityKey (Inherited from SfcInstance<K,T>)

Returns the identity path of the object

(Inherited from SfcInstance)
Metadata (Inherited from SfcInstance)

Parent is not something that is kept local, it is implied from the keychain The concept of a parent is really about the hiearchy up and under the root if we only do this via parents then we will not be able to instantiate objects with only lightweight SfcKeyChain sets

Setting the parent is therefor a helper operation to set a keychain

(Inherited from SfcInstance)
Properties (Inherited from SfcInstance)

This property returns the default implementation of SFC for ISfcPropertyStorageProvider interface, it can be overriden in the child classes to return another storage provider (i.e. flat properties list)

(Inherited from SfcInstance)

The instance that this proxy refers to. This is only set once when this property is first accessed.

State (Inherited from SfcInstance)

Create a new Urn string on each request and return it.

(Inherited from SfcInstance)


AlterImpl() (Inherited from SfcInstance)

To be called from domain for when an API requires the object to be Created Stronger than CheckObjectState

(Inherited from SfcInstance)

To be called from domain for any access to the object

(Inherited from SfcInstance)

Wrapper for our strongly-typed version. The non-generic SfcInstance base needs this.

(Inherited from SfcInstance<K,T>)
CreateImpl() (Inherited from SfcInstance)

Derived classes must implement this to create a key for a class instance from its properties.

(Inherited from SfcInstance<K,T>)
Discover(ISfcDependencyDiscoveryObjectSink) (Inherited from SfcInstance)
DropImpl() (Inherited from SfcInstance)

Get the child collection in this instance for the given element name string.

(Inherited from SfcInstance)
GetDomain() (Inherited from SfcInstance)
GetPropertySet() (Inherited from SfcInstance)

Get the referenced object based on the proxy. Must be implemented.


Internal instance class type metadata access. This returns the default static implementation of a type's SfcTypeMetadata. To customize a type's TypeMetadata, override this method in the derived type class to point to your own SfcTypeMetadata-derived object singleton for that class.

(Inherited from SfcInstance<K,T>)

Overridable from the child objects who care about initializing their states (dynamic metadata which is currently the ".Enabled" property)

(Inherited from SfcInstance)
MarkForDropImpl(Boolean) (Inherited from SfcInstance)
MarkRootAsConnected() (Inherited from SfcInstance)
MoveImpl(SfcInstance) (Inherited from SfcInstance)
OnPropertyMetadataChanges(SfcPropertyMetadataChangedEventArgs) (Inherited from SfcInstance)
OnPropertyValueChanges(PropertyChangedEventArgs) (Inherited from SfcInstance)
PostAlter(Object) (Inherited from SfcInstance)
PostCreate(Object) (Inherited from SfcInstance)
PostDrop(Object) (Inherited from SfcInstance)
PostMove(Object) (Inherited from SfcInstance)
PostRename(Object) (Inherited from SfcInstance)

refreshes the object's properties by reading them from the server

(Inherited from SfcInstance)
RenameImpl(SfcKey) (Inherited from SfcInstance)
ResetKey() (Inherited from SfcInstance)
Serialize(XmlWriter) (Inherited from SfcInstance)
ToString() (Inherited from SfcInstance)
UpdateUIPropertyState() (Inherited from SfcInstance)

Basic child object's validation

(Inherited from SfcInstance)


propertyChanged (Inherited from SfcInstance)
PropertyChanged (Inherited from SfcInstance)
propertyMetadataChanged (Inherited from SfcInstance)
PropertyMetadataChanged (Inherited from SfcInstance)

Applies to