- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
public static void Test(__arglist)
{
}
public static void Text2(ref string str)
{
var reftype = __reftype(new TypedReference());
var refvalue = __refvalue(new TypedReference(), string) = "string";
var makeref = __makeref(str);
}
homk 15.06.2016 21:46 # +1
И лучше сначала погуглить, а только потом смеяться.
bormand 15.06.2016 22:11 # 0
Ну, к примеру, на что ссылается пустой TypedReference, который запиливают в строках 7-8 и какого типа это нечто? Почему в него можно засунуть строку и не упасть?
LispGovno 15.06.2016 23:08 # 0
homk 16.06.2016 08:09 # 0
Спойлер:
var reftype = __reftype(new TypedReference());
при трансформации в IL превращается в
var typeFromHandle = __reftype(default(TypedReference));
Очевидно, что default(TypedReference) == null, а, соответственно, и typeFromHandle == null
homk 16.06.2016 08:12 # 0
yamamoto 16.06.2016 10:19 # 0
LispGovno 16.06.2016 00:35 # 0