Если это эталонное преобразование, это означает, что фактическое значение (эталон) останется полностью неизменным. Все, что делает приведение в действие, выполняет проверку, а затем копирует значение. Это не имеет никакого реального использования - вы можете выполнить проверку, используя вместо этого Type.IsAssignableFrom
, и просто использовать неявное приведение к object
, если хотите получить его в переменной типа object
.
Основная цель приведения - предоставить компилятору больше информации. Теперь, если вы знаете только тип во время выполнения , это явно не поможет компилятору.
Что вы планируете делать с o
после того, как вы выполнили приведение? Если вы можете объяснить это, мы можем попытаться объяснить, как добиться желаемого эффекта.
Если вы действительно хотите, чтобы преобразование, определенное пользователем, или распаковка происходило, это могло быть другим вопросом - но я подозреваю , что это не так.
РЕДАКТИРОВАТЬ: После просмотра вашего обновления ваша собственность только что была объявлена возвращающей CustomClass
, поэтому все, что вам нужно, это:
public CustomClass MyClassOuter
{
get
{
return (CustomClass) otherClass;
}
}
Я подозреваю, что вы до сих пор не предоставили нам всю информацию, которую мы необходимость. Это определенно , как будет определяться ваше свойство, с CustomClass
определенного типа? Почему вы пытались выполнить приведение динамически, когда вы знаете тип свойства?
РЕДАКТИРОВАТЬ: Похоже, вы просто пытаетесь сохранить некоторые набрав - чтобы было легче вырезать и вставлять. Не. Вы знаете тип во время компиляции, потому что вы знаете тип свойства во время компиляции (он указан в коде всего несколькими строками выше). Используйте этот тип напрямую. Точно так же не пытайтесь получить имя текущего метода, чтобы определить ключ для использования. Просто введите имя напрямую. Опять же, вы знаете это во время компиляции, так зачем быть динамичным? Я все за лень, когда это имеет смысл, но в этом случае это просто не так.
Предполагая, что у вас есть следующие экземпляры, которые также добавлены в ваш UIView:
UITextView *textView;
UIWebView *webView;
и textView содержит строку URL-адреса, вы можете загрузить содержимое URL-адреса в webView следующим образом:
NSURL *url = [NSURL URLWithString:textView.text];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[webView loadRequest:req];