Getters/setters generator

jmh530 via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Tue Jun 13 12:31:28 PDT 2017


On Sunday, 11 December 2016 at 02:17:18 UTC, Mike Parker wrote:
>
> What are properties if not "getters" and "setters"? From the 
> original post: "It would generate 2 methods "num": one to set 
> num_ and one to get its value."
>
> Two methods named "num". No "get" or "set" in sight.

Sorry to bump, but it also isn't hard to use mixins to write more 
generic get/set.

import std.stdio : writeln;

struct Foo
{
	private int a;
	private int b;
	
	void set(string variable)(int x) @property
	{
		mixin(variable ~ " = x;");
	}
	
	int get(string variable)() @property
	{
		return mixin(variable);
	}
}

void main()
{
	Foo foo;
	foo.set!("a")(1);
	foo.set!("b")(2);
	writeln(foo.get!("a"));
	writeln(foo.get!("b"));
}


More information about the Digitalmars-d-announce mailing list