/**
         * <summary>
         *   Retrieves a multi-cell weighing scale sensor for a given identifier in a YAPI context.
         * <para>
         *   The identifier can be specified using several formats:
         * </para>
         * <para>
         * </para>
         * <para>
         *   - FunctionLogicalName
         * </para>
         * <para>
         *   - ModuleSerialNumber.FunctionIdentifier
         * </para>
         * <para>
         *   - ModuleSerialNumber.FunctionLogicalName
         * </para>
         * <para>
         *   - ModuleLogicalName.FunctionIdentifier
         * </para>
         * <para>
         *   - ModuleLogicalName.FunctionLogicalName
         * </para>
         * <para>
         * </para>
         * <para>
         *   This function does not require that the multi-cell weighing scale sensor is online at the time
         *   it is invoked. The returned object is nevertheless valid.
         *   Use the method <c>YMultiCellWeighScale.isOnline()</c> to test if the multi-cell weighing scale sensor is
         *   indeed online at a given time. In case of ambiguity when looking for
         *   a multi-cell weighing scale sensor by logical name, no error is notified: the first instance
         *   found is returned. The search is performed first by hardware name,
         *   then by logical name.
         * </para>
         * </summary>
         * <param name="yctx">
         *   a YAPI context
         * </param>
         * <param name="func">
         *   a string that uniquely characterizes the multi-cell weighing scale sensor, for instance
         *   <c>YWMBRDG1.multiCellWeighScale</c>.
         * </param>
         * <returns>
         *   a <c>YMultiCellWeighScale</c> object allowing you to drive the multi-cell weighing scale sensor.
         * </returns>
         */
        public static YMultiCellWeighScale FindMultiCellWeighScaleInContext(YAPIContext yctx, string func)
        {
            YMultiCellWeighScale obj;

            obj = (YMultiCellWeighScale)YFunction._FindFromCacheInContext(yctx, "MultiCellWeighScale", func);
            if (obj == null)
            {
                obj = new YMultiCellWeighScale(yctx, func);
                YFunction._AddToCache("MultiCellWeighScale", func, obj);
            }
            return(obj);
        }
        /**
         * <summary>
         *   Retrieves a multi-cell weighing scale sensor for a given identifier.
         * <para>
         *   The identifier can be specified using several formats:
         * </para>
         * <para>
         * </para>
         * <para>
         *   - FunctionLogicalName
         * </para>
         * <para>
         *   - ModuleSerialNumber.FunctionIdentifier
         * </para>
         * <para>
         *   - ModuleSerialNumber.FunctionLogicalName
         * </para>
         * <para>
         *   - ModuleLogicalName.FunctionIdentifier
         * </para>
         * <para>
         *   - ModuleLogicalName.FunctionLogicalName
         * </para>
         * <para>
         * </para>
         * <para>
         *   This function does not require that the multi-cell weighing scale sensor is online at the time
         *   it is invoked. The returned object is nevertheless valid.
         *   Use the method <c>YMultiCellWeighScale.isOnline()</c> to test if the multi-cell weighing scale sensor is
         *   indeed online at a given time. In case of ambiguity when looking for
         *   a multi-cell weighing scale sensor by logical name, no error is notified: the first instance
         *   found is returned. The search is performed first by hardware name,
         *   then by logical name.
         * </para>
         * <para>
         *   If a call to this object's is_online() method returns FALSE although
         *   you are certain that the matching device is plugged, make sure that you did
         *   call registerHub() at application initialization time.
         * </para>
         * <para>
         * </para>
         * </summary>
         * <param name="func">
         *   a string that uniquely characterizes the multi-cell weighing scale sensor, for instance
         *   <c>YWMBRDG1.multiCellWeighScale</c>.
         * </param>
         * <returns>
         *   a <c>YMultiCellWeighScale</c> object allowing you to drive the multi-cell weighing scale sensor.
         * </returns>
         */
        public static YMultiCellWeighScale FindMultiCellWeighScale(string func)
        {
            YMultiCellWeighScale obj;

            obj = (YMultiCellWeighScale)YFunction._FindFromCache("MultiCellWeighScale", func);
            if (obj == null)
            {
                obj = new YMultiCellWeighScale(func);
                YFunction._AddToCache("MultiCellWeighScale", func, obj);
            }
            return(obj);
        }