Skip to content

Conversation

@havietisov
Copy link

In case we called some extension method in context of some userdata, we are not allowed to call any other because they will not be indexed (always nil)

example :
userdata.ExtMethod1() --called fine
userdata.ExtMethod2() --null indexer!

and, if we call ExtMethod2 first, ExtMethod1 will be nil

ExtensionMethodsRegistry.GetGenericMatch trying to create GetGenericTypeDefinition of type parameter.
Example:
TweenSettingsExtensions.SetEase(this T t, Ease ease) //causes exception being thrown, because we are not allowed to create T<>

Rygor Borodoolin added 2 commits March 8, 2016 11:40
…called extension method in each userdata instance

example :
userdata.ExtMethod1() --called fine
userdata.ExtMethod2() --null indexer!
… case when multiple extension methods with similar signature were available in different extension classes, and one of the extension methods has generic argument as extendable type:

TweenSettingsExtensions.SetEase<T>(this T t, Ease ease) where T : Tween; //this one cause exception shot upon calling SetEase
SpecialTweenExtensions.SetEase(this Tweener @this, Ease ease)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant