/// <summary> /// Initializes a new <see cref="EtpSupportedDataObject"/> instance. /// </summary> /// <param name="supportedDataObject">The supported data object to initialize this instance from.</param> public EtpSupportedDataObject(ISupportedDataObject supportedDataObject) { QualifiedType = supportedDataObject.QualifiedType; Capabilities = new EtpDataObjectCapabilities(supportedDataObject.EtpVersion, supportedDataObject.DataObjectCapabilities); }
/// <summary> /// Converts an <see cref="ISupportedDataObject"/> instance to a SupportedDataObject with a concrete type. /// </summary> /// <typeparam name="TSupportedDataObject">The concrete supported data object type.</typeparam> /// <param name="SupportedDataObject">The <see cref="ISupportedDataObject"/> to convert</param> /// <returns>The converted data object.</returns> public static TSupportedDataObject ToSupportedDataObject <TSupportedDataObject>(this ISupportedDataObject supportedDataObject) where TSupportedDataObject : class, ISupportedDataObject, new() { if (supportedDataObject == null) { return(null); } if (supportedDataObject is TSupportedDataObject) { return(supportedDataObject as TSupportedDataObject); } var converted = new TSupportedDataObject { QualifiedType = supportedDataObject.QualifiedType, DataObjectCapabilities = supportedDataObject.DataObjectCapabilities, }; return(converted); }