Намерение / активность камеры - не сохранять в галерею

Я использую Camera Activity для захвата изображения. Я вызываю его с дополнительным параметром MediaStore.EXTRA_OUTPUT . Изображение правильно сохранено по указанному пути, поместите его также в папку галереи, поэтому я могу просмотреть изображение в «Галерее» {public void TryParse (string p_value) {значение T; Parser.TryParse (p_value, выходное значение); // Что-нибудь сделать с ...

У меня есть следующий класс C #:

public class MyType<T>
{
   public void TryParse(string p_value)
   {
      T value ;

      Parser.TryParse(p_value, out value);

      // Do something with value
   }
}

Дело в том, чтобы вызвать правильный метод Parser.TryParse, в зависимости от универсального типа T.

Здесь используется следующий статический класс:

static public class Parser
{
   static public void TryParse(string p_intput, out object p_output)
   {
      // Do something and return the right value
   }

   static public void TryParse(string p_intput, out double p_output)
   {
      // Do something and return the right value
   }

   static public void TryParse(string p_intput, out int p_output)
   {
      // Do something and return the right value
   }
}

Я ожидал, что это сработает: в худшем случае будет вызван "объект" TryParse. Вместо этого у меня две ошибки компиляции:

  • CS1502: Лучшее совпадение перегруженного метода для 'Parser.TryParse (string, out object)' имеет некоторые недопустимые аргументы
  • CS1503: Аргумент 2: невозможно преобразовать из 'out T' в 'out object'

Вопрос 1: Я не понимаю, почему это не работает: я могу быть наивным, но не все объекты C # должны быть производными от «объекта» ? Почему T нельзя преобразовать в объект?

Вопрос 2: Как я могу отправить метод с универсальным типом T в правильные неуниверсальные методы (например, MyType . TryParse вызывает правильный Parser.TryParse в соответствии с правильным типом T)?

Примечание

Вопрос был отредактирован, чтобы отразить исходную цель вопроса (как написано в заголовке: Как направить вызов универсального метода C # в вызовы специализированных методов )

6
задан paercebal 8 March 2011 в 08:59
поделиться