public TheProviderInfo GetSensorProviderInfo() { var providerInfoProp = this.GetProperty(strSource); var subscriptionId = TheCommonUtils.CGuid(providerInfoProp?.GetProperty(nameof(TheThing.TheSensorSubscription.SubscriptionId), false)); var providerInfo = new TheProviderInfo { ProviderMid = TheCommonUtils.CGuidNullable(providerInfoProp?.GetProperty(nameof(TheProviderInfo.ProviderMid), false)), Subscription = new TheThing.TheSensorSubscription { SensorId = TheCommonUtils.CStrNullable(providerInfoProp?.GetProperty(nameof(TheThing.TheSensorSubscription.SensorId), false)), SampleRate = TheCommonUtils.CIntNullable(providerInfoProp?.GetProperty(nameof(TheThing.TheSensorSubscription.SampleRate), false)), SubscriptionId = subscriptionId != Guid.Empty ? subscriptionId : this.cdeMID, TargetThing = new TheThingReference(this.OwnerThing), TargetProperty = cdeP.GetPropertyPath(this), ExtensionData = ReadDictionaryFromProperties(providerInfoProp, TheProviderInfo.KnownProperties), } }; return(providerInfo); }