Introduction
One of the big differences between C# and VB.Net is the fact that VB.Net is case insensitive and C# isn't.
The case-insensitivity of VB.Net is sometimes weird and can lead to unwelcome side effects. Like you will see.
Partial classes
For example. the following is completely legal in VB.Net
- Module Module1
- Sub Main()
- Dim t = New Test
- t.Test()
- t.partialtest()
- Dim t2 = New test
- t2.Test()
- t2.partialtest()
- Console.ReadLine()
- End Sub
- End Module
- Public Class test
- Public Sub Test()
- Console.WriteLine("test")
- End Sub
- End Class
- Partial Public Class Test
- Public Sub partialtest()
- Console.WriteLine("partialtest")
- End Sub
- End Class
Watch the casing of the classes.
See the instantiations?
In C# we would use it like this.
- using System;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- var t = new ConsoleApplication2.test();
- t.Test();
- t.partialtest();
- Console.ReadLine();
- }
- }
- }
In other words the name and casing of the class not the partial one. It won't work with the partial one.
So next time they try to convert your VB.Net code to C# they will have a problem with all the different casings and none of it will really work and if your code is big enough it will even hardly make sense.
WHY?????
The question begs of course, why would you do this?? You don't!! But when you rename your class via Visual studio or just by deleting and retyping the characters than the partial class will not be renamed and in most cases you will not even notice because the partial class is in another file.
Conclusion
Be very careful with this kind of unwanted behavior you could upset someone.



LTD Social Sitings
Note: Watch for social icons on posts by your favorite authors to follow their postings on these and other social sites.