Comments (2)
The offending code:
public static void Populate(string commandLineString = default(string), bool clearExistingValues = true)
{
var type = new StackFrame(1).GetMethod().DeclaringType;
Populate(type, Parse(commandLineString), clearExistingValues);
}
Changing the first line to use StackFrame(3)
resolves the issue, but this will then break on Framework and .NET Core 1.x. The stack should be inspected to determine the proper caller; if not this overload may need to be removed.
from utility.commandline.arguments.
Fixed next release:
public static void Populate(string commandLineString = default(string), bool clearExistingValues = true, [CallerMemberName] string caller = default(string))
{
var callingMethod = new StackTrace().GetFrames()
.Select(f => f.GetMethod())
.Where(m => m.Name == caller).FirstOrDefault();
if (callingMethod == default(MethodBase))
{
throw new InvalidOperationException("Error populating arguments; Unable to determine the containing type of Main(). Use Populate(typeof(<class containing main>))");
}
Populate(callingMethod.DeclaringType, Parse(commandLineString), clearExistingValues);
}
from utility.commandline.arguments.
Related Issues (20)
- Investigate behavior of "clearing" existing values during Populate() HOT 1
- GetArgumentHelp() doesn't work with async methods
- Implicit Type identification via stack inspection doesn't work when called from async methods
- Breaking changes for v3.0.0
- Allow properties to be populated from environment variables HOT 1
- Subcommad support HOT 2
- Argument values starting with non-word-characters are treated as operands
- Fix Travis CI configuration of sonarscanner
- Remove support for unquoted forward slashes as values HOT 1
- Breaking changes for v4.0.0
- Arguments starting with non-Alpha characters followed by Forward slashes are dropped completely HOT 2
- Fails to read argument strings starting with / HOT 5
- Arguments using only long name? HOT 1
- Breaking changes for v5.0.0
- Documentation oversight HOT 1
- Parse() dos not capture multiple values for repeated arguments HOT 1
- Breaking changes for v6.0.0
- Argument starting with tilde (~) are not captured and left blank HOT 1
- Trying to use negative double value cause Exception HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from utility.commandline.arguments.