Emit: Как сделать explicit/implicit cast operator
От: sing  
Дата: 19.01.04 12:53
Оценка:
Нужно через Emit сделать аналог

public static impilicit operator String(MyObject mo)


Че-то OperatorBuilder я не нашел в Reflecton.Emit
может, каким макаром это через MethodBuilder сделать, но где указывать explicit/implicit
Re: Emit: Как сделать explicit/implicit cast operator
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.01.04 13:06
Оценка:
Здравствуйте, sing, Вы писали:

S>Че-то OperatorBuilder я не нашел в Reflecton.Emit


В IL не существует, компилятор шарпа генерит обычные статические методы, а опознает их по специальному имени и атрибуту specialname.

S>может, каким макаром это через MethodBuilder сделать, но где указывать explicit/implicit


Скомпилируй шарповский код, погляди дизасеммблером
... << RSDN@Home 1.1.2 stable >>
AVK Blog
Re: Emit: Как сделать explicit/implicit cast operator
От: Dax  
Дата: 19.01.04 13:25
Оценка: 3 (1)
Здравствуйте, sing, Вы писали:

S>Нужно через Emit сделать аналог


S>
S>public static impilicit operator String(MyObject mo)
S>


typeBuilder.DefineMethod("op_Implicit", MethodAttributes.HideBySig | MethodAttributes.Public | MethodAttributes.Static | MethodAttributes.SpecialName, typeof(String), new Type[] {typeof(MyObject)});
... << RSDN@Home 1.1.0 stable >>
Re[2]: Emit: Как сделать explicit/implicit cast operator
От: sing  
Дата: 20.01.04 07:05
Оценка:
Здравствуйте, Dax, Вы писали:

Dax>
Dax>typeBuilder.DefineMethod("op_Implicit", MethodAttributes.HideBySig | MethodAttributes.Public | MethodAttributes.Static | MethodAttributes.SpecialName, typeof(String), new Type[] {typeof(MyObject)});
Dax>


Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.