コード例 #1
0
        private bool ValidateEntryPoint(IMethodMember value)
        {
            if (((IDeclaredType)value.ParentTarget).IsGeneric)
            {
                return(false);
            }
            if (value.Name != "Main")
            {
                return(false);
            }
            if (value.Parameters.Count < 0 || value.Parameters.Count > 1)
            {
                return(false);
            }
            if (value.Parameters.Count == 0)
            {
                return(value.ReturnType.Equals(typeof(int).GetTypeReference()) || value.ReturnType.Equals(typeof(void).GetTypeReference()));
            }
            IMethodParameterMember impm = value.Parameters[value.Parameters.Keys[0]];

            if (impm.ParameterType.ArrayElementType == null || impm.ParameterType.ArrayRank == 0)
            {
                return((impm.ParameterType.Equals(typeof(string).GetTypeReference())) && (value.ReturnType.Equals(typeof(int).GetTypeReference()) || value.ReturnType.Equals(typeof(void).GetTypeReference())));
            }
            else if (impm.ParameterType.ArrayRank == 1 && impm.ParameterType.ArrayElementType != null)
            {
                return(((impm.ParameterType.ArrayElementType.ArrayRank == 0 || impm.ParameterType.ArrayElementType.ArrayElementType == null) && impm.ParameterType.ArrayElementType.Equals(typeof(string).GetTypeReference())) && (value.ReturnType.Equals(typeof(int).GetTypeReference()) || value.ReturnType.Equals(typeof(void).GetTypeReference())));
            }
            return(false);
        }
コード例 #2
0
 public virtual void TranslateMember(IMethodParameterMember methodParamMember)
 {
     this.TranslateMember <IMethodParameterMember, CodeMemberMethod, IMemberParentType>(methodParamMember);
 }
コード例 #3
0
 protected override IMethodParameterMember <TMethod, TMethodParent> GetWrapper(IMethodParameterMember <TMethod, TMethodParent> original, TMethod parent)
 {
     return(new _Parameter(original, parent));
 }
コード例 #4
0
 internal _Parameter(IMethodParameterMember <TMethod, TMethodParent> original, TMethod parent)
     : base(original, parent)
 {
 }