Penguins-lab.Cargs 1.0.2

コマンドライン引数のスイッチを解析します

Install-Package Penguins-lab.Cargs -Version 1.0.2
dotnet add package Penguins-lab.Cargs --version 1.0.2
<PackageReference Include="Penguins-lab.Cargs" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Penguins-lab.Cargs --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Cargs紹介ページ


Sample code ↓

using Cargs.Attributes;

namespace ConsoleApp1 {

    class Program {

        //短いswitch名と長いswitch名を指定できます。
        // /a
        // /prop1
        [PropSwitch( 'a', "prop1" )] 
        public bool HogeProp1 { get; set; }

        //長いswitch名だけでも
        // /prop2
        [PropSwitch( "prop2" )] 
        public bool HogeProp2 { get; set; }

        //もちろん短いswitch名だけでもOK
        // /p
        [PropSwitch( 'p' )] 
        public bool HogeProp3 { get; set; }

        // 文字列が欲しい場合
        // /prop4 hogehoge
        [PropSwitch( "prop4", Option = SwitchOptions.String )] 
        public string HogeProp4 { get; set; }

        //staticでも動作します。
        // /prop5
        [PropSwitch( "prop5" )] 
        public static bool HogeProp5 { get; set; }


        //こちらもPropertyと同じように指定できます
        // /b
        // /Method1
        [MethodSwitch( 'b', "Method1" )] 
        public void HogeMethod1() { }

        //引数を持つこともできます
        // /Method2 123 hoge
        [MethodSwitch( "Method2", SwitchOptions.Int, SwitchOptions.String )] 
        public void HogeMethod2( int i, string s) { }

        //もちろんstaticでも動作します。
        // /Method3
        [MethodSwitch( "Method3" )] 
        public static void HogeMethod3() { }

        static void Main(string[] args) {

            var ins = new Program();
            //引数の解析をします
            Cargs.Analyzer.Analyze( ins, args );

        }

    }
}

Cargs紹介ページ


Sample code ↓

using Cargs.Attributes;

namespace ConsoleApp1 {

    class Program {

        //短いswitch名と長いswitch名を指定できます。
        // /a
        // /prop1
        [PropSwitch( 'a', "prop1" )] 
        public bool HogeProp1 { get; set; }

        //長いswitch名だけでも
        // /prop2
        [PropSwitch( "prop2" )] 
        public bool HogeProp2 { get; set; }

        //もちろん短いswitch名だけでもOK
        // /p
        [PropSwitch( 'p' )] 
        public bool HogeProp3 { get; set; }

        // 文字列が欲しい場合
        // /prop4 hogehoge
        [PropSwitch( "prop4", Option = SwitchOptions.String )] 
        public string HogeProp4 { get; set; }

        //staticでも動作します。
        // /prop5
        [PropSwitch( "prop5" )] 
        public static bool HogeProp5 { get; set; }


        //こちらもPropertyと同じように指定できます
        // /b
        // /Method1
        [MethodSwitch( 'b', "Method1" )] 
        public void HogeMethod1() { }

        //引数を持つこともできます
        // /Method2 123 hoge
        [MethodSwitch( "Method2", SwitchOptions.Int, SwitchOptions.String )] 
        public void HogeMethod2( int i, string s) { }

        //もちろんstaticでも動作します。
        // /Method3
        [MethodSwitch( "Method3" )] 
        public static void HogeMethod3() { }

        static void Main(string[] args) {

            var ins = new Program();
            //引数の解析をします
            Cargs.Analyzer.Analyze( ins, args );

        }

    }
}

Release Notes

PropAttributeのOption変更に対応

Dependencies

This package has no dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.2 292 11/19/2017
1.0.1 327 11/19/2017
1.0.0 331 11/19/2017