Exemplo n.º 1
0
        /// <summary>
        /// Get family parameter IsShared
        /// and GUID properties.
        /// </summary>
        /// <returns>True if the family parameter
        /// is shared and has a GUID.</returns>
        bool GetFamilyParamGuid(
            FamilyParameter fp,
            out string guid)
        {
            guid = string.Empty;

            bool isShared = false;

            System.Reflection.FieldInfo fi
                = fp.GetType().GetField("m_Parameter",
                                        System.Reflection.BindingFlags.Instance
                                        | System.Reflection.BindingFlags.NonPublic);

            if (null != fi)
            {
                Parameter p = fi.GetValue(fp) as Parameter;

                isShared = p.IsShared;

                if (isShared && null != p.GUID)
                {
                    guid = p.GUID.ToString();
                }
            }
            return(isShared);
        }
        /// <summary>
        /// Get family parameter IsShared
        /// and GUID properties.
        /// </summary>
        /// <returns>True if the family parameter
        /// is shared and has a GUID.</returns>
        bool GetFamilyParamGuid(
            FamilyParameter fp,
            out string guid)
        {
            guid = string.Empty;

              bool isShared = false;

              System.Reflection.FieldInfo fi
            = fp.GetType().GetField( "m_Parameter",
              System.Reflection.BindingFlags.Instance
              | System.Reflection.BindingFlags.NonPublic );

              if( null != fi )
              {
            Parameter p = fi.GetValue( fp ) as Parameter;

            isShared = p.IsShared;

            if( isShared && null != p.GUID )
            {
              guid = p.GUID.ToString();
            }
              }
              return isShared;
        }
Exemplo n.º 3
0
        public static bool IsShared(
            this FamilyParameter familyParameter)
        {
            MethodInfo mi = familyParameter
                            .GetType()
                            .GetMethod("getParameter",
                                       BindingFlags.Instance
                                       | BindingFlags.NonPublic);

            if (null == mi)
            {
                throw new InvalidOperationException(
                          "Could not find getParameter method");
            }

            var parameter = mi.Invoke(familyParameter,
                                      new object[] { }) as Parameter;

            return(parameter.IsShared);
        }