Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    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.
    Cory Smith
    @DualBrain
    @paul1956 Also, I am in the process of, or rather, am in "new machine hell". During this process I reached out to Tangible Software, the makers of Instant VB to inquire about any sort of release notes on what updates have taken place... with the actual question being "do you have any sort of release notes". The answer was, surprisingly, no. I then inquired about what improvements have been made in the recent past so I can justify giving them more money; the answer(s) I received were less than satisfactory. Don't get me wrong, they make a decent product... but I just can't afford to throw money into a pit where I am unable to, at the very least, see that that is ultimately producing a better result that would somehow improve my experience (over the long haul). All of this is to say that, at least on my new machine - and going forward, your project is officially my GOTO conversion tool. As I use it more, I'm sure I'll be "inspired" to contribute so that I'll eventually be able to say "our project". ;-)
    Jeff Bowman
    @InteXX
    @aarondglover I know! I thought we were going to have to wait until SIX ;-)