سؤال

Is this allowed? If not, can this be accomplished inherently by overloading the implicit/explicit conversion operators?

هل كانت مفيدة؟

المحلول

Is overloading the "is" and "as" operators allowed?

No.

If not, can this be accomplished inherently by overloading the implicit/explicit conversion operators?

No. The "as" and "is" operators tell you what a thing really is. They pay no attention to user-defined conversions.

See

http://blogs.msdn.com/b/ericlippert/archive/2009/10/08/what-s-the-difference-between-as-and-cast-operators.aspx

http://blogs.msdn.com/b/ericlippert/archive/2010/09/16/is-is-as-or-is-as-is.aspx

for some more thoughts on the "as" and "is" operators.

نصائح أخرى

No. Check this: Overloadable Operators and this All C# operators

No, because they are not operators as such, they are keywords of the language.

Also, I'm not sure what you would overload them to and still preserve the semantics of the language spec? Seems like it could be used only for great evil :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top