Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Cory Smith
    @DualBrain
    You know... for all of the negative stuff around VB... it sure is odd how much stuff from VB has made it's way into the other language(s). ;-)
    Paul M Cohen
    @paul1956
    @DualBrain So true
    Mohammad Hamdy Ghanem
    @VBAndCs
    I am still trying to run VB.NET code in wasm. I don't like Blazor at all, and I am trying to create another path to wasm. I proposed this in Monon wasm and hope we can make it happen (thou we may contribute in C# code to create the library).
    In fact I am trying to contact people who already made similar efforts in creating such library like script# and Ooui praeclarum/Ooui#245
    I don't want to fight this alone.
    Mohammad Hamdy Ghanem
    @VBAndCs
    I could have try to create all the tools myself, except this needs a deep knowledge about wasm and mono wasm which I dob't have, so, I contacted wasm, and they told me about interface-types. The Blazor team is not willing to do any thing differenet, so, I contacted Mono wasm to see how can they make use of that, and there is a good response. This can move forward if there is a community contributions.
    Note that I say nothing about VB.NET. There is alot of hate towards VB.NET, and issues closed as soon as I say the VB word! So, lets keep our true agenda hidden for a while :)
    In fact the path I am proposing is superior to Balzor and will allow us to use wpf/UWP/Xamarin in the web like Qoui and cshtml5 do, besides using Blazor component as well, but with minimum download size.
    Paul M Cohen
    @paul1956
    Updated C# to VB converter, added full solution conversion with many other features.
    Jeff Bowman
    @InteXX
    @VBAndCs "So, lets keep our true agenda hidden for a while" The spy who loved us ;-)
    Mohammad Hamdy Ghanem
    @VBAndCs
    :D
    What else to do? They treat VB.NET as a crime :(
    @paul1956 I depend on your converter daily. It is helpful. I hope you try to create IL to VB converter, so you don't have to update the converter with every new C# release.
    ILspy is open source
    Mohammad Hamdy Ghanem
    @VBAndCs
    it is a obfuscator , so it converts il to C#
    previously it had an option to convert it to VB but disappeared in recent versions
    you can make use of it's source to convert IL to VB.NET code
    Cory Smith
    @DualBrain
    I think the dependency in @paul1956 converter will require a new version whenever Roslyn is updated since it's using Roslyn to do most of the heavy lifting.
    Mohammad Hamdy Ghanem
    @VBAndCs
    Then tour converter: compiles C# to IL, then converts it back to VB.NET. This will need no more updating unless something shanges in Il, which is not expected to happen
    @DualBrain I don't think Roslyn will ever break backward compatibility. Any addition will not affect the converter functionality.
    But C# versions, will always have new syntax features, which will need updating the converter, at least to reference new Roslyn versions.
    Mohammad Hamdy Ghanem
    @VBAndCs
    If there is no more than updating the Roslyn version, it is OK. If there is more to do in VB side, this will need more work.
    Cory Smith
    @DualBrain
    @paul1956 Haven't had a chance to try just yet; but out of curiosity, how are you handling "local functions"?
    Mohammad Hamdy Ghanem
    @VBAndCs

    Private Function x() As Void

    ' TODO TASK: Local Functions are not support by VB:' Original Statement:

    '
    ' void y()
    ' {
    ' }

    End Function

    Not supported. But it is easy to convert it to a lambda sub/function
    by the way, As Void is my mistake, becuase of the uppercase Void :D
    Mohammad Hamdy Ghanem
    @VBAndCs
    @DualBrain look at this
    Thu use wasm to work on browsers too
    Mohammad Hamdy Ghanem
    @VBAndCs
    This is also written by .NET
    It is what you are trying to do :)
    Cory Smith
    @DualBrain
    That astroids project looks to be nearly EXACTLY what I'm looking for... thanks!
    "Asteroids.WinForms - Reconstructed WinForms GUI that uses the game engine with a PictureBox as the main renderer. This is using the .NET Framework 4.8."
    That's how I'm approaching it in WinForms... so looks like it would be a great thing to dig deeper into.
    Mohammad Hamdy Ghanem
    @VBAndCs
    It makes you run Winforms in the browser!
    Cory Smith
    @DualBrain
    That looks very interesting.
    Paul M Cohen
    @paul1956
    @DualBrain, I don't as @VBAndCs pointed out, I can look at it, I will open an issue. I also don't create the solution file, I just convert all the projects within, but it does a lot better when it has the entire solution for all the references.
    Paul M Cohen
    @paul1956
    Joseph Musser provided a working sample for how to place the Lambda function correctly for simulate local functions. I have covered many cases but I am sure not all. I will post a new converter tonight, please open issue if you find cases where if doesn't handle a local function or puts the lambda in the wrong place. This works because VB and C# have different rules for Lambda's (discussed by Anthony Green in Roslyn) and maybe why VB never got Local Functions and doesn't need them.
    Cory Smith
    @DualBrain
    For the record, right now I really dislike Blazor. Everyone seems to talk about it as if it's "done"; yet the previews seem to change so often (and enough) that every... single... project... example... I... find... doesn't... work. Sure, I can do "dotnet new" and that works. (From what I understand, it's now "code complete"; so samples built on it NOW should be OK... but how many people out there seem to be circling back to fix what they've already done? What a mess.)
    Jeff Bowman
    @InteXX
    Thought I'd let everyone know... we just got a Visual Studio VB.NET bug fixed in record time—18 hrs. Details here.
    Aaron Glover
    @aarondglover
    @InteXX Wonders never cease... Thought you'd have to wait till .NET 5 .. Seems to be the standard response to many issues at the moment
    Cory Smith
    @DualBrain
    @aarondglover Are you seeing similar activity elsewhere? If so, please share. ;-)
    @InteXX That is AWESOME!
    Cory Smith
    @DualBrain
    @paul1956 Just a quick comment to say that the implementation of internal function conversion is interesting. I had an opportunity last night to take advantage of it; it got me about 90% there for the particular example I was working with. There was a collision between the parameter name and the name used in the method... I simply added an X on the end of the one in the "internal function" to work around that. Ultimately I pulled the labdas (there were actually two of them in this example) out into regular functions (which ultimately solved the name collision - providing a cleaner result IMO). For what it's worth, I usually extract these as their own methos named OriginalMethod_InternalMethod passing by reference where I can any parameters - but in other cases, I have to create member variables to hold. With all that said, like I said, the approach your taking is very interesting... just providing some feedback. If there is any one suggestion I can think if that would definately be useful is for you to place some sort of a "TODO:" comment explaining that these were internal methods and "may" require additional work.