예제 #1
0
        public static IMemberDefinition Convert(IIsPossibly <IWeakTypeReference> Type, IConversionContext context, bool ReadOnly, IKey Key)
        {
            var(def, builder) = MemberDefinition.Create();

            var buildIntention = Type.GetOrThrow().TypeDefinition.GetOrThrow().GetValue().GetOrThrow().Cast <IConvertable <IVerifiableType> >().GetBuildIntention(context);

            buildIntention.Build();
            builder.Build(Key, buildIntention.Tobuild, ReadOnly);
            return(def);
        }
예제 #2
0
 public static IBuildIntention <IMemberDefinition> GetBuildIntention(IIsPossibly <IWeakTypeReference> Type, IConversionContext context, bool ReadOnly, IKey Key)
 {
     var(toBuild, maker) = MemberDefinition.Create();
     return(new BuildIntention <IMemberDefinition>(toBuild, () =>
     {
         maker.Build(
             Key,
             Type.GetOrThrow().TypeDefinition.GetOrThrow().GetValue().GetOrThrow().ConvertTypeOrThrow(context),
             ReadOnly);
     }));
 }
예제 #3
0
        //public IMemberDefinition Convert(IConversionContext context)
        //{
        //    return MemberDefinitionShared.Convert(Type, context, Access, Key);
        //}

        public virtual IBuildIntention <IMemberDefinition> GetBuildIntention(IConversionContext context)
        {
            var(toBuild, maker) = MemberDefinition.Create();
            return(new BuildIntention <IMemberDefinition>(toBuild, () =>
            {
                maker.Build(
                    Key,
                    Type.GetValue().Is1OrThrow().Convert(context),
                    Access);
            }));
        }