Edit

Share via


Member '<membername>' implicitly defines a member '<implicitmembername>' which has the same name as a type parameter

A member of a generic class generates an implicit member with the same name as a type parameter for the class.

The Visual Basic compiler creates implicit members corresponding to certain programming elements you declare. The following table summarizes these implicit, or synthetic, members.

Declared element Implicitly created members
Enumeration value__ member
Event add_<eventname> procedure

remove_<eventname> procedure

<eventname>Event field

<eventname>EventHandler delegate
Property get_<propertyname> procedure

set_<propertyname> procedure
My. collection variable m_<variablename> Static variable

<variablename> property

get_<variablename> procedure

set_<variablename> procedure
WithEvents variable _<variablename> variable

<variablename> property

get_<variablename> procedure

set_<variablename> procedure

Because of the possibility of name conflicts, you should avoid naming any declared programming element using the same form as any of these implicit members. For example, you should avoid any element name that begins with get_ or set_.

Error ID: BC32070

To correct this error

  • If the name of the type parameter is flexible, change it to avoid conflicts with the names listed in the preceding table.

  • If the type parameter must retain its name, change the name of the class member to avoid conflicts with the names listed in the preceding table.

See also