Esempio n. 1
0
        protected virtual TsTypeMember?Rewrite(CsTypeMember csTypeMember)
        {
            switch (csTypeMember)
            {
            case CsProperty csProperty:
                var forceNullable = csProperty.Attributes.Any(a => a.Name.Contains("CanBeNull")) ||
                                    csProperty.IsNullable;
                return(new TsPropertySignature
                {
                    Name = csProperty.Name,
                    Type = TsType.From(csProperty.Type,
                                       forceNullable)
                });

            case CsField csField:
                if (csField.Value == null)
                {
                    return(null);
                }

                return(new TsPropertySignature
                {
                    Name = csField.Name,
                    Type = TsType.FromLiteral(csField.Value)
                });

            default:
                throw new ArgumentOutOfRangeException(nameof(csTypeMember),
                                                      csTypeMember.GetType().Name, null);
            }
        }