Как получить частоты каждого значения в БПФ?

Вы не можете, прямо. Точка дженериков заключается в предоставлении безопасности типа compile-time , где вы знаете тип, который вам интересен во время компиляции, и можете работать с экземплярами этого типа. В вашем случае вы знаете только Type, поэтому вы не можете получать какие-либо проверки времени компиляции, которые имеют объекты, которые у вас есть, экземпляры этого типа.

Вам нужно будет вызвать метод через отражение - что-то вроде этого:

// Get the generic type definition
MethodInfo method = typeof(Session).GetMethod("Linq", 
                                BindingFlags.Public | BindingFlags.Static);

// Build a method with the specific type argument you're interested in
method = method.MakeGenericMethod(typeOne);
// The "null" is because it's a static method
method.Invoke(null, arguments);

Если вам нужно использовать этот тип много, вам может быть удобнее написать собственный универсальный метод, который вызывает любые другие общие методы, которые ему нужны, а затем вызовите ваш метод с отражением.

140
задан Peter Mortensen 31 July 2016 в 23:18
поделиться