Ejemplo n.º 1
0
        /// <summary>
        /// Reads a property from the object
        /// </summary>
        /// <typeparam name="T1">The type of property to read</typeparam>
        /// <param name="property1Expr">The property expression</param>
        public async Task <Tuple <T1> > ReadPropertiesAsync <T1>(Expression <Func <TObj, T1> > property1Expr)
        {
            var values = await Client.SendRPMAsync(DeviceInstance, ObjectIdentifier,
                                                   ObjectHelpers.GetPropertyReference(property1Expr));

            return(new Tuple <T1>(values[0].As <T1>()));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Reads five properties from the object
        /// </summary>
        /// <typeparam name="T1">The type of the first property</typeparam>
        /// <typeparam name="T2">The type of the second property</typeparam>
        /// <typeparam name="T3">The type of the third property</typeparam>
        /// <typeparam name="T4">The type of the fourth property</typeparam>
        /// <typeparam name="T5">The type of the fifth property</typeparam>
        /// <param name="property1Expr">The expression for the first property</param>
        /// <param name="property2Expr">The expression for the second property</param>
        /// <param name="property3Expr">The expression for the third property</param>
        /// <param name="property4Expr">The expression for the fourth property</param>
        /// <param name="property5Expr">The expression for the fifth property</param>
        /// <returns>The five property tuple</returns>
        public async Task <Tuple <T1, T2, T3, T4, T5> > ReadPropertiesAsync <T1, T2, T3, T4, T5>(
            Expression <Func <TObj, T1> > property1Expr,
            Expression <Func <TObj, T2> > property2Expr,
            Expression <Func <TObj, T3> > property3Expr,
            Expression <Func <TObj, T4> > property4Expr,
            Expression <Func <TObj, T5> > property5Expr)
        {
            var values = await Client.SendRPMAsync(DeviceInstance, ObjectIdentifier,
                                                   ObjectHelpers.GetPropertyReference(property1Expr),
                                                   ObjectHelpers.GetPropertyReference(property2Expr),
                                                   ObjectHelpers.GetPropertyReference(property3Expr),
                                                   ObjectHelpers.GetPropertyReference(property4Expr),
                                                   ObjectHelpers.GetPropertyReference(property5Expr));

            return(new Tuple <T1, T2, T3, T4, T5>(
                       values[0].As <T1>(),
                       values[1].As <T2>(),
                       values[2].As <T3>(),
                       values[3].As <T4>(),
                       values[4].As <T5>()));
        }