Доступ к URL-адресу JDBC провайдера постоянства Thingworx

Я думаю, что с точки зрения удобства использования я бы выбрал тип Temperature, а не Celsius. Celsius - это всего лишь единица измерения, а Temperature будет представлять собой фактическое измерение. Тогда ваш тип может поддерживать несколько единиц, таких как Цельсия, Фаренгейта и Кельвина. Я бы также выбрал десятичное значение в качестве резервного хранилища.

Что-то в этих строках:

public struct Temperature
{
    private decimal m_value;

    private const decimal CelsiusToKelvinOffset = 273.15m;

    public static readonly Temperature MinValue = Temperature.FromKelvin(0);
    public static readonly Temperature MaxValue = Temperature.FromKelvin(Decimal.MaxValue);

    public decimal Celsius
    {
        get { return m_value - CelsiusToKelvinOffset; }
    }

    public decimal Kelvin 
    {
        get { return m_value; }
    }

    private Temperature(decimal temp)
    {
        if (temp < Temperature.MinValue.Kelvin)
               throw new ArgumentOutOfRangeException("temp", "Value {0} is less than Temperature.MinValue ({1})", temp, Temperature.MinValue);
        if (temp > Temperature.MaxValue.Kelvin)
               throw new ArgumentOutOfRangeException("temp", "Value {0} is greater than Temperature.MaxValue ({1})", temp, Temperature.MaxValue);
         m_value = temp;
    }

    public static Temperature FromKelvin(decimal temp)
    {     
           return new Temperature(temp);
    }

    public static Temperature FromCelsius(decimal temp)
    {
        return new Temperature(temp + CelsiusToKelvinOffset);
    }

    ....
}

Я бы избегал неявного преобразования, поскольку Рид утверждает, что он делает вещи менее очевидными. Однако я бы перегрузил операторы (& lt ;,>, ==, +, -, *, /), поскольку в этом случае было бы целесообразно выполнять такие операции. И кто знает, в какой-то будущей версии .net мы могли бы даже указывать ограничения оператора и, наконец, могли бы писать более многократно используемые структуры данных (представьте себе класс статистики, который может вычислять статистику для любого типа, который поддерживает +, -, *, /).

0
задан Tarik Ziyad 18 January 2019 в 07:30
поделиться

1 ответ

Вы должны загрузить ThingworxPersistenceProvider Thing и использовать GetConfigurationTable («ConnectionInformation»), который имеет только одну строку и столбец jdbcUrl, где он находится.

0
ответ дан Carles Coll 18 January 2019 в 07:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: