HamBook – Rev 56
?pathlinks?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace HamBook.Radios.Generic
{
public abstract class RadioMenu
{
public abstract int[] Indices { get; }
public abstract int MenuToCAT(int menu, string value);
public static RadioMenu Create(string radio)
{
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
foreach (var type in assembly.GetTypes())
{
if (typeof(RadioMenu).IsAssignableFrom(type))
{
var radioAttribute = type.GetCustomAttribute<RadioAttribute>();
if (radioAttribute != null && radioAttribute.Radio == radio)
return (RadioMenu)Activator.CreateInstance(type);
}
}
}
return null;
}
}
}