예제 #1
0
        public override string GenerateClass()
        {
            var functionABI = Model.FunctionABI;
            var header      = "";

            if (_functionABIModel.IsMultipleOutput())
            {
                header = $@"{SpaceUtils.OneTab}[Function(""{functionABI.Name}"", typeof({_functionOutputDTOModel.GetTypeName()}))]";
            }

            if (_functionABIModel.IsSingleOutput())
            {
                header = $@"{SpaceUtils.OneTab}[Function(""{functionABI.Name}"", ""{_functionABIModel.GetSingleAbiReturnType()}"")]";
            }

            if (_functionABIModel.HasNoReturn())
            {
                header = $@"{SpaceUtils.OneTab}[Function(""{functionABI.Name}"")]";
            }

            return($@"{GetPartialMainClass()}

{header}
{SpaceUtils.OneTab}public class {Model.GetTypeName()}Base : FunctionMessage
{SpaceUtils.OneTab}{{
{_parameterAbiFunctionDtocSharpTemplate.GenerateAllProperties(functionABI.InputParameters)}
{SpaceUtils.OneTab}}}");
        }
예제 #2
0
        public override string GenerateClass()
        {
            var typeName = Model.GetTypeName();
            return
                $@"{GetPartialMainClass()}

{SpaceUtils.OneTab}public class {typeName}Base : ContractDeploymentMessage
{SpaceUtils.OneTab}{{
{SpaceUtils.TwoTabs}public static string BYTECODE = ""{Model.ByteCode}"";
{SpaceUtils.TwoTabs}public {typeName}Base() : base(BYTECODE) {{ }}
{SpaceUtils.TwoTabs}public {typeName}Base(string byteCode) : base(byteCode) {{ }}
{_parameterAbiFunctionDtocSharpTemplate.GenerateAllProperties(Model.ConstructorABI.InputParameters)}
{SpaceUtils.OneTab}}}";
        }