/// <summary>
        /// <para>
        /// This method allows a generalized implementation of transfering
        /// a value from a
        /// <see cref="ResourceBuilder.ResourceAttributes"/>
        /// to a
        /// <see cref="MediaResource"/>
        /// object.
        /// </para>
        ///
        /// <para>
        /// Classes derived from the
        /// <see cref="ResourceBuilder.ResourceAttributes"/>
        /// class have fields, with names that match against fields in a
        /// <see cref="MediaResource"/>
        /// object.
        /// </para>
        /// </summary>
        /// <param name="attribName">name of the attribute to transfer</param>
        /// <param name="res">The
        /// <see cref="MediaResource"/>
        /// object to transfer to.
        /// </param>
        /// <param name="attribs">
        /// The
        /// <see cref="ResourceBuilder.ResourceAttributes"/>
        /// object to transfer from.
        /// </param>
        private static void TransferValue(string attribName, MediaResource res, ResourceAttributes attribs)
        {
            object val = null;

            System.Type type = attribs.GetType();
            FieldInfo   info = type.GetField(attribName);

            if (info != null)
            {
                val = info.GetValue(attribs);

                if (val != null)
                {
                    IValueType ivt = val as IValueType;

                    bool ok = true;
                    if (ivt != null)
                    {
                        ok = ivt.IsValid;
                    }
                    if (ok)
                    {
                        //res.m_Attributes[attribName] = val;
                        res[attribName] = val;
                    }
                }
            }
        }
Example #2
0
		/// <summary>
		/// <para>
		/// This method allows a generalized implementation of transfering
		/// a value from a 
		/// <see cref="ResourceBuilder.ResourceAttributes"/>
		/// to a
		/// <see cref="MediaResource"/>
		/// object. 
		/// </para>
		/// 
		/// <para>
		/// Classes derived from the
		/// <see cref="ResourceBuilder.ResourceAttributes"/>
		/// class have fields, with names that match against fields in a 
		/// <see cref="MediaResource"/>
		/// object. 
		/// </para>
		/// </summary>
		/// <param name="attribName">name of the attribute to transfer</param>
		/// <param name="res">The
		/// <see cref="MediaResource"/>
		/// object to transfer to.
		/// </param>
		/// <param name="attribs">
		/// The
		/// <see cref="ResourceBuilder.ResourceAttributes"/>
		/// object to transfer from.
		/// </param>
		private static void TransferValue(string attribName, MediaResource res, ResourceAttributes attribs)
		{
			object val = null;
			
			System.Type type = attribs.GetType();
			FieldInfo info = type.GetField(attribName);
			if (info != null)
			{
				val = info.GetValue(attribs);

				if (val != null)
				{
					IValueType ivt = val as IValueType;

					bool ok = true;
					if (ivt != null)
					{
						ok = ivt.IsValid;
					}
					if (ok)
					{
						//res.m_Attributes[attribName] = val;
						res[attribName] = val;
					}
				}
			}
		}