50 lines
703 B
C#
50 lines
703 B
C#
|
// Compiler options: -t:library
|
||
|
|
||
|
public interface I<T>
|
||
|
{
|
||
|
T Value { get; }
|
||
|
}
|
||
|
|
||
|
public class AI: I<object>
|
||
|
{
|
||
|
public object Value { get; set; }
|
||
|
}
|
||
|
|
||
|
public class External
|
||
|
{
|
||
|
public dynamic DynamicProperty { get; set; }
|
||
|
public dynamic Field;
|
||
|
public dynamic[,] FieldArray;
|
||
|
|
||
|
public dynamic Method (dynamic d)
|
||
|
{
|
||
|
return d;
|
||
|
}
|
||
|
|
||
|
public void MethodOut (out dynamic d)
|
||
|
{
|
||
|
d = decimal.MaxValue;
|
||
|
}
|
||
|
|
||
|
public I<dynamic>[] Method2 (dynamic d)
|
||
|
{
|
||
|
return new [] { new AI () { Value = d }};
|
||
|
}
|
||
|
|
||
|
// Same as Method2 to check we are interning dynamic
|
||
|
public I<dynamic>[] Method3 (dynamic d)
|
||
|
{
|
||
|
return d;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public class CI<T> : I<T>
|
||
|
{
|
||
|
public T Value { get; set; }
|
||
|
}
|
||
|
|
||
|
public class CI2 : CI<dynamic>
|
||
|
{
|
||
|
}
|
||
|
|