использовать отражение, чтобы проверить, есть ли у него метод «CustomType MyMethod (byte [] a, int b)» и называть его или выдавать исключение иначе
blockquote>Ваш текущий код не выполняет это требование. Но вы можете довольно легко с чем-то вроде этого:
var methodInfo = t.GetMethod("MyMethod", new Type[] { typeof(byte[]), typeof(int) }); if (methodInfo == null) // the method doesn't exist { // throw some exception } var o = Activator.CreateInstance(t); var result = methodInfo.Invoke(o, params);
Достаточно ли это, или есть лучшие / более быстрые / короткие способы?
blockquote>As насколько я заинтересован, это лучший способ, и на самом деле нет ничего более быстрого для каждого из них.
Что относительно конструкторов, учитывая, что эти методы не являются статическими, можно ли их просто игнорировать?
blockquote>Вам все равно придется создать экземпляр
t
, как показано в моем примере. Это будет использовать конструктор по умолчанию без аргументов. Если вам нужно передать аргументы, вы можете увидеть документацию MSDN и изменить его как таковой.