.net - Generic List Extension Method ForEach Stopped Working?
Dec 16, 2010
I have a custom list that inherits Generic.List and it has a method for deselecting all of the members named DeselectAll It has looked like this for a few weeks and has worked fine.
Public Sub DeselectAll()
MyBase.ForEach(Function(p As Publipostable) p.ModeEnvoiChoisi = Nothing)
End Sub
Today, it stopped working ?!? I reverted to an earlier version using delegates and that works fine...
Public Sub DeselectAll()
MyBase.ForEach(AddressOf DeselectModeEnvoi)
End Sub
[code]....
Edit: Stopped Working meaning it no longer sets the property p.ModeEnvoiChoisi to Nothing on each item in the list. The DeselectAll method gets called, but all the items retain their previous values...
However it always returns 0. I've checked and the GetPartCost function executes and returns a non-zero number but the list item cost properties are never updated.The property is just a simple property,
Public Property Cost() As Double Get Return _Cost[code]....
If I set a breakpoint in the Set of the property, it never gets hit.
Here's the code I have but I'm getting syntax issues:
CODE:
I'm just looking to call ReadAndPopulate method for each item in aList. I know I can do it the traditional "For each a in aList...Next" way but wanted to learn how to do it with delegates.
Is it possible to pass multiple arguments to a delegate method from a list(Of T).ForEach call?So, I'd like to pass a listbox object to the delegate routine below:
Sub test() Dim names As New List(Of String) names.Add("Bruce") names.Add("Alfred")
.Cast(Of Double) extension method not working in a particular situation.However I can get my own extension method .CastToDouble working.Would you call this a Framework bug?see the commented out line of code in the code below.Similar code posted in my last post in this thread: http:[url].....
Option Strict On Option Explicit On Option Infer Off[code]......
I am trying to compare the contents of 2 collections in a unit test in .NET using MSTEST. To make things simple, instead of having to .Sort() and then loop through the collection and compare items one at a time, I've found the new and very cool .Intersect Extension method.
However, now that I have a test which needs to be case-sensitive, it breaks. I've tried sending Intersect's second parameter StringComparer.Ordinal,StringComparer.InvariantCulture, and StringComparer.CurrentCulture... no luck..
Public Class notifierMain Public Class Contacts Inherits List(Of row) Public Sub New()
[code]....
When I debug this winforms application I get curType = "notifier.notifierMain+Contacts+row" I want to the Validate function to know it is in MyContacts. How do I do this?
I have a class myClass. MyClass has a property myName. I have a generic list myList(of myClass). I have to check if value of myName in all myClass objects in myList is same and is equal to a string myString. I have created a method:
Private Function IsMatching(ByVal objMyClass As MyClass, ByVal strMyString As String) As Boolean If objMyClass.MyName = strMyString Then Return True Else Return False End If End Function Now I want to use is TrueForAll method of Generic list. How can I use it ?
If there was No second Parameter in IsMatching method, I could have simply used myList.TrueForAll(AddressOf IsMatching) But since there is a parameter strMyString, I dont understand how can I use IsTrueForAll method. How can I use IsTrueForAll method in this scenario.
I want to create a extension class for the List type so users can do [code]I've it defined as Type and also tried object but neither are accessible when I have a list of strings.If I set it to be string it then appears..But I want something that is more generic and will work with all lists. How do I need to define it?
I have been using a pretty slick generic invoke method for UI updating from background threads. I forget where I copied it from (converted it to VB.NET from C#), but here it is: Public Sub InvokeControl(Of T As Control)(ByVal Control As t, ByVal Action As Action(Of t))
I'm trying to search a generic list of 'User' business objects which has a property called 'Username': If (From u In colUsers Select u.Username Where Username.Equals(strUsername)).Count > 0 ThenI keep getting:Delegate to an instance method cannot have null 'this'.
I'm writing a program that reads a directory of xml files (not well-formed), parses the xml, and dumps the data into an Excel Workbook.The file contents are similar in that they have many common xml nodes/attributes.Some files have additional nodes/attributes.The xml in these files represent configuration settings for a Web Application, one file per user.The expected output is a worksheet with a column for each node/attribute combination and a row of node/attribute values for each user.I'm just about finished with the program, but I've run into a bit of a snag.As the final step in the process, I need to loop through a generic list of array objects (that represent a user row) and send the array elements to Excel.I don't know the correct syntax to get the array objects out of the list and have been unable to find sample code specific to generic lists of array objects.[code]
so I have a generic list in a console application. Dim Channels as New List(Of Chatroom) Chatroom is a structure. But I have multiple classes, threads, and timers looping through this list, sometimes at the same time, but it always seems to raise errors because the number of items in the list gets changed while one of the other classes/threads/timers are looping through also. Is there any way to allow only one to manipulate it at a time?
Consider a MyForm class that contains a shadowed implementation of Show(). It also contains a CreateForm() method, which accepts an instance of the form and calls the shadowed sub:
Why would I use an extension method instead of just creating non-extension sub or function?
For ex, I could have an extension function called IsNullOrEmptyOrAllSpaces on String, which does a check as its name implies. Or I can write a stand alone function that does the same thing. Other than having the extension show up in Intellisense, is there any advantage? Is a call to the extension quicker/more efficient than a call to a regular function?
Public MustInherit Class Column Public ReadOnly Property ReturnSomethingUseful() As Object Get 'return something useful
[code]....
But this gives the following error:
Public Overrides Function ParseValue(sValue As String) As Boolean' cannot override 'Public Overridable Function ParseValue(sValue As String) As Object' because they differ by their return types.
I accept that you can't do this, but I'd like to be able to preserve the semantics of what I'm. trying to do, which is to have an untyped version that deals with Object, but a typed version in derived classes that knows about the specific type T.
I saw this post and I want to know if this is possible in VB. So like extension method, do extension properties exists in VB.Net? Here I've read they do, but cannot find any examples.
I have been developing this VB application for some time now in Visual Studio 2008. I have created datasets, ran into problems, reinstalled them, etc. and have been able to resume work with my application. Just recently, the datasets have completely stopped working meaning no data is pulled from the SQL server. I have tried recreating the datasets with no luck. When I create a new label and try to simply associate it to a SQL field through the properties of the label, Databindings... Text (to pull in the value of the field to this label), when I run the program, it does not pull the data. None of the datasets work. I have checked the code and designer and tried to compare it to my old version and everything looks fine.
my program connect to Access DataBase 2003 ! in my computer every thing be ok !but in other pc my program can not open on show this message :
my OS is 7!my VS version is 2010 and it is my connection string : "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + My.Application.Info.DirectoryPath + "my_db.mdb" where is my problem ?
I keep getting an error that says hte application has stopped working and Windows is searching for a solution. When I click to debug, it tries to start a new instance of VB, but then tells me that a debugger is already running. Why is this happening?
The error is a uncaught Win32 exception and occurs somewhere inside a thread that I create, but I have no idea where.
i tried updating my application on a vista home basic laptop. i get "myapp.exe has stopped working" then i restore back to the old version, it still give the same error. I am sure the old version is working because I tested it before updating it.
What happend to my Intellisense?When I type a line like this ...
Dim users = (From u In Membership.GetAllUsers Select u.UserName)
I get (almost) no Intellisense when I get to the Select u. part. Only Equals, GetHashCode, GetType, ReferenceEquals and ToString appears. Not "UserName" and the other relevant propeties of the MembershipUser class.The code compiles and works just fine.
why break points might stop working? It's seems to have happened suddenly for all my ASP.NET projects in VS 2003 and VS 2005. all the debug options are still on, and it seems to be for all my projects anyways, not just one.
I opened an older project and it works fine. Using syntax: debug.print ("OK") and look for printed line in immediate window. Is there some setting I could have inadvertently disabled or have maybe discluded some imports? Only import is forms.