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 OriginalGriff 275
1 DamithSL 265
2 CPallini 235
3 Maciej Los 185
4 George Jonsson 170
0 OriginalGriff 5,305
1 DamithSL 4,382
2 Maciej Los 3,760
3 Kornfeld Eliyahu Peter 3,470
4 Sergey Alexandrovich Kryukov 2,901


Advertise | Privacy | Mobile
Web01 | 2.8.141216.1 | Last Updated 3 Jul 2013
Copyright © CodeProject, 1999-2014
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