actually, i've something like this:
private static TypeReference CloseInterface(
TypeReference @interface,
IEnumerable<TypeReference> genericArguments)
{
if ([email protected]) return @interface;
var genericInstanceType = new GenericInstanceType(@interface.Resolve());
genericInstanceType.GenericArguments.AddRange(genericArguments);
return genericInstanceType;
}
and:
myGenericInstanceType.Resolve().Interfaces( i =>
i.CloseInterface(myGenericInstanceType.Arguments))
and the interfaces in the debugger seems ok, but when I try to add these
interfaces to the type, save the assembly and call peverify:
[MD]: Error: Signature contains long form (such as
ELEMENT_TYPE_CLASS<token of System.String>). [token:0x1B000002]
Another interesting thing in the debugger is that genericargument from the
original code has this:
http://screencast.com/t/Jg1UxFI50PxD
I don't know if it is ok..
thanks again
2011/1/20 José F. Romaniello <[email protected]>
> Hi, all I am very new to Mono.Cecil and I've a doubt regarding to
> generics,
>
> I have something like:
>
> public class IFoo<T>
> {
> T Property{ get; set; }
> }
>
> public class Foo<T> : IFoo<T>
> {
> public T Property {get;set; }
> }
>
> somewhere on the same assembly, I have "Foo<int>"
> in my cecil code I can access to that Foo<int> and i get a
> GenericInstanceType, with his GenericArguments (in this case only one:
> int)
>
> I want to get the closed interfaces from the GenericInstanceType.
>
> Thank you in advance
>
> --
> --
> mono-cecil
--
--
mono-cecil