コード例 #1
0
        public GetTypeInfoResponse[] GetTypeInfo(string databaseName)
        {
            var types = this.GetTypes(databaseName);

            return(types.Select(type => type.Dispatcher.Invoke(() =>
            {
                var typeInfo = type.TypeInfo;
                return GetTypeInfoResponse.ConvertFrom(typeInfo);
            })).ToArray());
        }
コード例 #2
0
        public GetTypeInfoResponse GetTypeInfo(string databaseName, string typeName)
        {
            var type = this.GetType(databaseName, typeName);

            return(type.Dispatcher.Invoke(() =>
            {
                var typeInfo = type.TypeInfo;
                return GetTypeInfoResponse.ConvertFrom(typeInfo);
            }));
        }
コード例 #3
0
        public GetTypeInfoResponse[] GetTypeInfoByTypeName(string databaseName, [FromBody] GetTypeInfoByTypeNameRequest request)
        {
            var types          = this.GetTypes(databaseName);
            var intersectTypes = types.Select(type => type.Dispatcher.Invoke(() => type.Name))
                                 .Intersect(request.TypeNames, StringComparer.OrdinalIgnoreCase);

            return(intersectTypes.Select(typeName =>
            {
                var type = types.First(o => o.Dispatcher.Invoke(() => o.Name == typeName));
                var typeInfo = type.Dispatcher.Invoke(() => type.TypeInfo);
                return GetTypeInfoResponse.ConvertFrom(typeInfo);
            }).ToArray());
        }