Giter VIP home page Giter VIP logo

Comments (6)

cezarypiatek avatar cezarypiatek commented on May 19, 2024

It's really hard to diagnose without example. Please provide code where you are trying to apply generator. (Source and target class definitions and mapping method)

from mappinggenerator.

davegi avatar davegi commented on May 19, 2024

Yeah...I figured it would be but was hopeful that the ST would be enough:-).

The Quick Action "Implementation of mapping method can be generated" appears on the first line of the following .ctor:

public SegmentedString(Option<string> @string) : this(string.Empty, @string, string.Empty) { }

Option is a type defined in the library lang-ext.

As mentioned, as soon as the MG menu item gains focus in the Quick Action context menu...boom...VS displays the extension error bar; "MappingGeneratorCodeFixProvider encountered an error and has been disabled", w/ the link for the ST, and buttons to re-enable.

Hope this is more helpful.

from mappinggenerator.

cezarypiatek avatar cezarypiatek commented on May 19, 2024

@davegi you forgot about SegmentedString class definition.

from mappinggenerator.

davegi avatar davegi commented on May 19, 2024

Sorry...I realize that you asked for the class definition but I read .ctor...here's the definition:
`

[Pure]
public class SegmentedString {
    private readonly string @string = string.Empty;
    private readonly string begin = string.Empty;
    private readonly string middle = string.Empty;
    private readonly string end = string.Empty;

    public SegmentedString(Option<string> @string)
        : this(string.Empty, @string, string.Empty) {
    }

    public SegmentedString(Option<string> begin, Option<string> middle, Option<string> end) {
        this.begin = begin.IfNone(string.Empty);
        this.middle = middle.IfNone(string.Empty);
        this.end = end.IfNone(string.Empty);

        this.@string = this.begin + this.middle + this.end;
    }

    public Option<SegmentedString> Begin => Option<SegmentedString>.Some(Option<string>.Some(this.begin));

    public Option<SegmentedString> Middle => Option<SegmentedString>.Some(Option<string>.Some(this.middle));

    public Option<SegmentedString> End => Option<SegmentedString>.Some(Option<string>.Some(this.end));

    public static implicit operator SegmentedString(Option<string> @string) => new SegmentedString(string.Empty, @string, string.Empty);

    public static implicit operator SegmentedString(string @string) => new SegmentedString(string.Empty, Option<string>.Some(@string), string.Empty);

    public static implicit operator SegmentedString((Option<string> begin, Option<string> middle, Option<string> end) @string) => new SegmentedString(@string.begin, @string.middle, @string.end);

    public static implicit operator SegmentedString(Option<ValueTuple<string, string, string>> @string) => @string;

    public static implicit operator string(SegmentedString segmentedStringEx) => segmentedStringEx.ToString();

    public override string ToString() => this.@string;
}

`
And the method in question is:

public SegmentedString(Option<string> @string) : this(string.Empty, @string, string.Empty) { }

from mappinggenerator.

cezarypiatek avatar cezarypiatek commented on May 19, 2024

Thanks, I will investigate it later.

from mappinggenerator.

cezarypiatek avatar cezarypiatek commented on May 19, 2024

It looks like the readonly properties are the culprit. This issue has been fixed on develop branch and new version should be release in few days.

By the way, currently MappingGenerator maps only properties, but not fields. I will take this option under advisement.

from mappinggenerator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.