【c# – 类型<> /无类型设计】教程文章相关的互联网学习教程文章

c# – 如果没有setter,则无法反序列化类型【代码】

我在数据库中有二进制序列化对象.它们与protobuf序列化.现在我需要生成一些查看器来查看数据库的内容.所以,我从数据库中读取流并将其反序列化回对象.它工作,结果是对象列表:var dbData = readData(someType);//it is IList collection现在,我想将这个对象列表保存到文件中以查看数据库的内容.我认为将它保存到xml是最好的.所以,我尝试过:var serializer = new XmlSerializer(dbData.GetType());但我得到一个错误:无法反序列化类...

c# – 复杂类型作为web api操作中的可选参数【代码】

我需要在’Web API控制器操作’中创建一个复杂的类型参数,这样我的空值操作过滤器可以通过检查参数的属性IsOptional来忽略它.我收到这个错误:Optional parameter ‘errorCode’ is not supported by ‘FormatterParameterBinding’.我有一个像这样的控制器:[Route("api/v1/Temp/{number}/{errorCode?}/{value?}")] [HttpGet] public IHttpActionResult Temp(int number, ErrorDetail errorCode = null, string value = null) {re...

c# – 如何在我无法控制的程序集中标记类型或成员过时?

示例:我的同事应该不再使用Microsoft.VisualBasic.Collection,我希望构建过程应该指向替换类型.这听起来像是ObsoleteAttribute的情况,除了我无法在Microsoft.VisualBasic.Collection中设置属性.有没有办法实现这样的事情(废弃/禁止某个项目的框架类型或成员)而不诉诸丑陋的黑客. 如果没有,那什么是黑客? 更新:Visual Studio 2017 CE解决方法:这不是ObsoleteAttribute的情况 – 因为这意味着Microsoft打算删除此类. 正如@ChrFin建...

c# – 为什么我得到“无法转换类型的对象”异常?【代码】

我有以下代码public class SortTerm<T> {public System.Func<T, System.IComparable> Sort;public SortDirection Direction;public SortTerm(System.Func<T, System.IComparable> sorter, SortDirection direction){this.Sort = sorter;this.Direction = direction;}public SortTerm(System.Func<T, System.IComparable> sorter): this(sorter, SortDirection.Ascending){ }public static SortTerm<T> Create<TKey>(System.Func<T...

c# – Cosmos DB – CreateDocumentQuery不反序列化抽象类型【代码】

我试图让Cosmos DB .NET SDK v1.19.1使用Json.net序列化设置自动将对象反序列化为正确的类型.除了查询文档时,这似乎工作正常.以下面的代码为例:public abstract class Shape{public int Area { get; set; }}public class Square : Shape { }public class Triangle : Shape { }public class Entity{public string Id { get; set; }public string Name { get; set; }public Shape Shape { get; set; }}static void Main(string[] ar...

c# – 自动映像为T类型初始化【代码】

我想要通用方法从数据库中获取数据并传递输出数据应该如何的模型. 我写了简单的方法:public IEnumerable<T> GetUsers<T>() {Mapper.Initialize(cfg =>cfg.CreateMap<IQueryable<User>, IQueryable<T>>());return OnConnect<IEnumerable<T>>(db =>{return db.Users.ProjectTo<T>().ToList();}); }现在我希望我能做到这一点:var users = repo.GetUsers<UserViewModel>(); // it should be IEnumerable<UserViewModel> var anotherU...

c# – 在Google Cloud Datastore上使用动态类型【代码】

我们的应用程序目前正在开发MongoDb.我们的计划是使其与Datastore一起使用.在我们的应用程序中,有一些API调用,我们不知道它的响应是如何构建的.因此,我们使用动态类型.我们得到回应并按原样投入Mongodb. 据我们检查,Google.Cloud.Datastore.V1 .Net SDK促使开发人员使用结构化类型.我们必须创建一个具有预定义键名称的特定属性的实体. 如下所示:MapField<string, Value> fields = new MapField<string, Value>();fields.Add("d1",...

c# – 如何在主容器中注册类型,但在子容器中解析?【代码】

我有一个统一容器并使用RegisterType使用ContainerControlledLifetimeManager注册以下存储库和实现者.public interface IPersonRepository {Person GetByID(ObjectSpace objectSpace, int id); }使用这种模式我可以有多个线程(它是一个Web应用程序)同时使用相同的存储库实例,尽管每个线程使用不同的ObjectSpace(这是一个本地缓存机制,用于从数据库中获取对象)工作单位等).但这让我感到“肮脏”,而不是那种善良的:-) 我真正想要的是...

c# – 代码合同和类型转换【代码】

我试图接受Microsoft DevLabs Code Contracts静态分析器并面对我实际上不知道是我还是它们的情况.所以这是代码:public static int GenerateInBetween(int min, int max){Contract.Requires(min < max);Contract.Requires((long)(max - min) <= (long)(Int32.MaxValue));Contract.Ensures(Contract.Result<int>() >= min);Contract.Ensures(Contract.Result<int>() <= max); // Unpvoven!long range = max - min;double basicRand...

c# – 如何使用Linq to Entities动态检索某些子类型的所有记录?【代码】

我试图获取指定类型的数据库中的所有对象的列表.我之前在编译时知道类型时已经这样做了,但是现在我试图将一个类型传递给方法并让方法返回该指定类型的所有记录,而我无法使其工作.我尝试过以下方法:public IList<WritingObject> GetBasicObjectsByProject(int projectId, Type oType){var results = from o in _objects.AsQueryablewhere o.Project.Id == projectId&& o.GetType() == oTypeselect o;return results.ToList<Writing...

带有IronPython类型参数的C#泛型【代码】

所以,情况是我有一个名为Foo的C#泛型类,其模板参数T具有new()约束.我已经宣布我的课程是这样的:class Baz {public Baz() { } }class Foo<T>where T : Baz, new() {// blah blah }在Python中:class Bar(Baz):def __init__(self):""" do various things here """但是,如果在Python中我尝试做Foo [Bar],我会收到一个错误,告诉我我的Bar类违反了Foo< T>上的约束(即new()约束). 是什么赋予了?解决方法:IronPython对象没有默认构造函数...

c# – 自定义引用类型

始终可以在Visual Studio中为项目添加引用.这些显示在解决方案资源管理器中的特殊“引用”文件夹下.您还可以添加服务引用,这些引用也放在他们自己的特殊文件夹下.我想创建自己的引用类型,包含特殊文件夹,其他项目可以使用.这叫什么,以及如何做到这一点的一些好的文档?解决方法:你的意思是你想要创建一个类/ .dll库? http://snippets.dzone.com/posts/show/3861

c# – 使用具有流畅接口的类型推断【代码】

我有一个类/接口层次结构.在接口方面我有IQueryISelect (inherits IQuery)IUpdate (inherits IQuery)etc在课堂上我有QueryBase (implements IQuery)SelectQuery (implements ISelect)UpdateQuery (implements IUpdate)etc显然,例如,Update类和Select类共享一个WHERE子句,但只有一个Select具有GROUP BY功能,所以理想情况下,如果正在创建更新查询,则流畅的接口将不会提供对GROUP BY功能的访问,但是如果SelectQue...

从C#中的类型生成程序化XSD – 在子类XSD中包含基类属性【代码】

我有一种情况,我们有一个基类,几个子类实现.基类用于强制子类包含系统所需的某些属性. 无论如何,我想以编程方式为子类生成XSD,但我希望基类的属性出现在子类XSD中,因为基类是出于内部原因而使用,并不会对客户端产生任何意义. 例如,目前如果我有:class Foo {public string Id { get; set; } }class Bar : Foo {public string Name { get; set; } }我通过以下代码运行它:private string ExtractXsdFromType() {Type type = typeof(...

c# – 使用ServiceStack.Text序列化接口类型列表【代码】

我正在寻找将BinaryFormatter序列化以外的东西引入我的应用程序以最终使用Redis的方法. ServiceStack JSON是我想要使用的,但它可以用接口做我需要的吗?它可以序列化(通过插入自定义__type属性)public IAsset Content;但不是public List<IAsset> Contents;– 列表在序列化数据中显示为空.有没有办法做到这一点 – 序列化接口类型列表? 该应用程序是大而老的,它使用的对象的形状可能不会被允许改变.谢谢解决方法:引自http://www.se...