Активатор и статические классы

Пытались создать ваши данные, используя следующее:

df <- data.frame(col1 = c(1,1,2,2,1,1,2,2),
                 col2 = c(34,34,342,23,34,34,342,23),
                 col3 = c(3,4,3,4,3,4,3,4))

И, если вы хотите создать подмножество только на основе одного столбца, вы можете использовать @ kyle-marsh solution

> df[df$col1 == 1, ]
  col1 col2 col3
1    1   34    3
2    1   34    4
5    1   34    3
6    1   34    4
[118 ] И, если вам нужны только отдельные столбцы, возможно, вы можете попробовать это

> unique(df[df$col1 == 1, ])
  col1 col2 col3
1    1   34    3
2    1   34    4

И, если вам нужно агрегировать данные на основе col1, вы можете попробовать следующее. Поскольку col1 является числовым,

> aggregate(df[,-1], by = list(col1 = df$col1), sum)
  col1 col2 col3
1    1  136   14
2    2  730   14
12
задан Sean 5 March 2009 в 14:17
поделиться

4 ответа

Вам не нужен Активатор для вызова метода. Вы используете MethodInfo. Вызовите непосредственно. Первый параметр можно оставить пустым.

24
ответ дан 2 December 2019 в 03:18
поделиться

GvS корректен - вот пример использования:

using System;
using System.Reflection;

class Program
{
    static void Main()
    {
        Type type = Type.GetType("Foo");
        MethodInfo info = type.GetMethod("Bar");

        Console.WriteLine(info.Invoke(null, null));
    }
}

static class Foo
{
    public static String Bar() { return "Bar"; }
}
16
ответ дан 2 December 2019 в 03:18
поделиться

Не случается так, что статический класс не имеет никакого экземпляра, это просто, это не имеет никаких общедоступных конструкторов. Активатор использует отражение для создания экземпляров, и когда Вы используете отражение, можно назвать что-либо, что Вы хотите, даже частные конструкторы

0
ответ дан 2 December 2019 в 03:18
поделиться

Если то, что Вы подразумеваете под высказыванием "ресурсов", является на самом деле ресурсами, встроенными в блок, можно всегда извлекать их вручную (см. Assembly.GetManifestResourceStream()), не используя статические классы (будет больше проблем с теми начиная с единственного способа, которым можно использовать их, просто с отражением).

Spring.NET имеет хорошую абстракцию IResource.

И не, Activator не может использоваться для "создавания" статических классов.

0
ответ дан 2 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: