MSIR.0883 Class (classname) -- inherited classes (classname) and (classname) contain members with the same name: Difference between revisions

From m204wiki
Jump to navigation Jump to search
(Automatically generated page update)
mNo edit summary
Line 1: Line 1:
A class that extends at least two base classes, both of which were qualified with the <tt>Inherit</tt> keyword in the <tt>Extends</tt> clause, inherited the same named member from both base classes. <li>th Other than fixing the method names in the base classes, there are two ways to correct this problem:
A class that extends at least two base classes, both of which were qualified with the <tt>Inherit</tt> keyword in the <tt>Extends</tt> clause, inherited the same named member from both base classes. <li>th Other than fixing the method names in the base classes, there are two ways to correct this problem:


<ul> <li>Add the <tt>IgnoreDuplicates</tt> keyword after the <tt>Inherit</tt> keyword for the second base class in the <tt>Extends</tt> clause. This is not highly recommended, because it could mask future conflicts caused by adding a method to the first base class with the same name as the one in the second base class. In such a case, the new method in the first base class will preempt the method in the second, even though the second was formerly used. If one is lucky, a compile error will flag the problem. If unlucky, the application will silently do the wrong thing. <li>Explicitly Inherit the conflicting name using the <tt>Inherit</tt> statement in the Public block. This is the recommended approach.</ul>
<ul>  
<li>Add the <tt>IgnoreDuplicates</tt> keyword after the <tt>Inherit</tt> keyword for the second base class in the <tt>Extends</tt> clause. This is not highly recommended, because it could mask future conflicts caused by adding a method to the first base class with the same name as the one in the second base class. In such a case, the new method in the first base class will preempt the method in the second, even though the second was formerly used. If one is lucky, a compile error will flag the problem. If unlucky, the application will silently do the wrong thing.  
 
<li>Explicitly Inherit the conflicting name using the <tt>Inherit</tt> statement in the Public block. This is the recommended approach.
</ul>


[[Category:Sirius Mods messages]]
[[Category:Sirius Mods messages]]

Revision as of 21:02, 23 April 2014

A class that extends at least two base classes, both of which were qualified with the Inherit keyword in the Extends clause, inherited the same named member from both base classes.

  • th Other than fixing the method names in the base classes, there are two ways to correct this problem:
    • Add the IgnoreDuplicates keyword after the Inherit keyword for the second base class in the Extends clause. This is not highly recommended, because it could mask future conflicts caused by adding a method to the first base class with the same name as the one in the second base class. In such a case, the new method in the first base class will preempt the method in the second, even though the second was formerly used. If one is lucky, a compile error will flag the problem. If unlucky, the application will silently do the wrong thing.
    • Explicitly Inherit the conflicting name using the Inherit statement in the Public block. This is the recommended approach.