Solved

Generic List<> as a property

Posted on 2009-05-08
7
2,058 Views
Last Modified: 2012-05-06
I have a Type List<string>. How would I call the clear method on the List if it was a property.
This is how my property looks
List<string> _RecieveData = new List<string>();//Data Returned from the clock

        public List<string> RecieveData

        {

            get

            {

                return _RecieveData;

            }

            set

            {

                _RecieveData.Clear();

            }

        }

Open in new window

0
Comment
Question by:u2envy1
7 Comments
 
LVL 8

Assisted Solution

by:OBonio
OBonio earned 250 total points
ID: 24334745

<object>.ReceiveData.Clear()

Open in new window

0
 

Accepted Solution

by:
u2envy1 earned 0 total points
ID: 24334815
Thx.....
Are Generics Ref types or Value types ?
0
 
LVL 1

Expert Comment

by:Acumentality
ID: 24334822
If you want to use the setter to clear, you could use RecieveData = null; Your set method would then ignore the nulll (because you haven't used value). But I don't know why you would do it like that, that's just confusing.

RecieveData.clear() is more clear.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:u2envy1
ID: 24334881
If I assign another List<string> MyList = RecieveDate;
Then run  RecieveData.clear()
The MyList is also Cleared. Due to Reference types.
How do I not clear MyList when clearing RecieveDate ?
0
 
LVL 1

Expert Comment

by:Acumentality
ID: 24334918
They both refer to the same object. If you clear one, you clear both.
You'd have to create another list. If you want to copy the elements from recievedata to that list at the same time, use:
List<String> myList = new List<String>(RecieveData);

Open in new window

0
 
LVL 75

Assisted Solution

by:käµfm³d 👽
käµfm³d   👽 earned 250 total points
ID: 24334933
Have you tried changing your get to:
get

{

    return new List<string>(_RecieveData);

}

Open in new window

0
 

Author Comment

by:u2envy1
ID: 24335021
Thanks this works......
get

{

    return new List<string>(_RecieveData);

}

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes a simple method to resize a control at runtime.  It includes ready-to-use source code and a complete sample demonstration application.  We'll also talk about C# Extension Methods. Introduction In one of my applications…
Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now