Ejemplo n.º 1
0
        /// <summary>
        /// Finds all signal parameters by reflection and returns them.
        /// </summary>
        /// <param name="instance"></param>
        /// <returns></returns>
        public static IEnumerable <SigParamBase> GetParams(AudioSignal instance)
        {
            var flags  = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
            var fields = instance.GetType().GetFields(flags);

            foreach (var fi in fields)
            {
                if (typeof(SigParamBase).IsAssignableFrom(fi.FieldType))
                {
                    yield return((SigParamBase)fi.GetValue(instance));
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Finds all output signal parameters by reflection and returns them.
        /// </summary>
        /// <param name="instance"></param>
        /// <returns></returns>
        public static IEnumerable<SigParamBase> GetOutputParams(AudioSignal instance)
        {
            var flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
			var fields = instance.GetType().GetFields(flags);
			
            foreach (var fi in fields)
			{
				if(typeof(SigParamBase).IsAssignableFrom(fi.FieldType))
				{
				    var param = (SigParamBase)fi.GetValue(instance);
				    
				    if(param.IsOutput)
				    {
				        yield return param;
				    }
				}
			}
        }