Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# .NET Visual-Studio
I have a code like this..
 
class ABC
{
   public string Name, Phone; 
 
   public static IEnumerable<ABC> GetList()
   {
      List<ABC> foo = new List<ABC>();
 
      //Some COde here
      return foo; 
   }
}
 
Class A
{
   private void GetList()
   {
      IEnumerable<ABC> abc = ABC.GetList();
      foreach (ABC newitem in abc)
      {
         ListViewItem li = new ListViewItem();
         li.Text = newitem.Name;
         li.Tag = newitem; //<<<<<<<<<<<<< Is this Possible ??? 
         ListView1.Items.Add(li);
      }
   }
}
 

I want to know If I can assign an object to the Tag Property of ListViewItem ??
How come it be accessible outside since the object resides inside a function ??
Will it cause any problems in future ?? Memory and so.... Frown | :( Please Helpp :(
Posted 3-Jul-13 3:57am

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Yes, that's what the Tag property is there for.
 
The object is accessible outside the function because you are assigning a reference to it. Since there is a reference to it, it's not garbage collected and it exists outside the function where it is assigned.
 
It should not cause any problems in the future unless you use events on the object. Then you would need to remember to release the events before assigning the object to null so that the garbage collector will pick it up and destroy it. Simply using it as a reference like you do above will not cause any issues, I do it quite frequently.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 205
1 Zoltán Zörgő 200
2 Peter Leow 160
3 BillWoodruff 85
4 CPallini 70
0 Sergey Alexandrovich Kryukov 9,543
1 OriginalGriff 6,901
2 Peter Leow 4,737
3 Zoltán Zörgő 4,404
4 CHill60 2,932


Advertise | Privacy | Mobile
Web04 | 2.8.150129.1 | Last Updated 3 Jul 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100