title: VB.net Option Strict, listview.items.add(itm.clone) Overload
body: <p>In VB.net (2012) I have the following code:</p>
  
  <pre><code>For Each itm As ListViewItem In Me.lvCustomers
      If CDbl(itm.Tag) &lt;&gt; customer.Id Then Me.lvMerges.Items.Add(itm.Clone)
  Next
  </code></pre>
  
  <p>With <strong>Option Strict On</strong> I get the following error:</p>
  
  <blockquote>
    <p>Error 2   Overload resolution failed because no accessible 'Add' can be
    called with these arguments:
        'Public Overridable Function Add(value As System.Windows.Forms.ListViewItem) As
    System.Windows.Forms.ListViewItem': Option Strict On disallows
    implicit conversions from 'Object' to
    'System.Windows.Forms.ListViewItem'.
        'Public Overridable Function Add(text As String) As System.Windows.Forms.ListViewItem': Option Strict On disallows
    implicit conversions from 'Object' to
    'String'.</p>
  </blockquote>
  
  <p>I can do an lvMerges.Items.Add(itm) , which does not throw an error, but then I have to remove it from the lvCustomers listview, which I do not want to do.</p>
  
  <p>Can someone explain how I can make this work properly without turning off <strong>Option Strict?</strong></p>
  
  <p>Goal is to copy ListviewItem with all SubItems.</p>