0

C# 协变、逆变

微软官方概述: 在C 中,协变和逆变能够实现数组类型、委托类型和泛型类型参数的隐式引用转换。协变保留分配兼容性,逆变则与之相反。 协变:能够使用与原始指定的派生类型相比,派生程度更大的类型。 逆变:能够使用派生程度更小的类型。 官方示例: 上面示例中,从 string object 的隐式转换这是协 ...

lys-wwb 发布于 2019-10-21 16:27 评论(0)阅读(296)
0

协变和逆变

转发:https://www.cnblogs.com/Ninputer/archive/2008/11/22/generic_covariant.html 背景知识:协变和逆变 假设有这样两个类型:TSub是TParent的子类,显然TSub型引用是可以安全转换为TParent型引用的。如果一个泛型 ...

酷学大叔 发布于 2019-10-21 14:29 评论(2)阅读(208)
0

最简单的ArcGIS Engine应用程序(上)

名词: IWorkspaceFactory 工作空间工厂 ShapeFileWorksapceFactory 矢量文件工作空间工厂 IWorkspce 工作空间 IFeatrueWorkspace 要素工作空间 IFeatureClass 要素类 IFeatureLayer 要素图层 Feature ...

the_path_of_grace 发布于 2019-10-21 11:38 评论(0)阅读(187)
0

WPF(C#)中Bitmap与BitmapImage相互转换

一、WPF的Image控件中设置ImageSource 还可以使用: 还可以使用: 二、Bitmap转BitmapImage 先将Bitmap储存成memorystream,然后指定给BitmapImage 三、Bitmap转BitmapSource 四、BitmapSource转Bitmap ...

张子浩 发布于 2019-10-21 11:17 评论(0)阅读(671)
0

C# 委托补充01

上一篇文章写了委托的最基本的一些东西,本篇咱们扯扯委托其他的东西。 示例1插件编程 根据对委托的理解,委托可以把一个方法当作参数进行传递,利用这个特性我们可以使用委托,实现插件编程。 这里的Transform方法就是插件方法,它接受一个委托参数。 示例2多播委托 所有的委托都有多播的能力。这就意味着 ...

lys-wwb 发布于 2019-10-20 15:15 评论(0)阅读(93)
0

C#委托

委托定义: 委托是一个引用类型,表示对具体特定参数列表和返回类型的方法的引用,在实例化委托时,可以其实例与任何具有兼容签名和返回类型的方法相关联; 是安全封装方法的类型,类似于C和C++中的函数指针。这是来自微软官方的定义。再来看一下国内一些网站的定义:委托是一个类,它定义了方法的类型, 使得可以将 ...

lys-wwb 发布于 2019-10-18 20:42 评论(0)阅读(131)
0

Nuget使用时遇到的问题,Solved

在VS的程序包管理控制台中输入Install package MySql.Data时,默认安装最新的版本8.0.18, 但是安装完成后,发现包并没有添加到项目的引用列表中, 在解决方案的packages文件夹中找到8.0.18对应的文件夹MySql.Data.8.0.18,发现其中并没有相应dll文 ...

椿华湫实 发布于 2019-10-18 17:25 评论(0)阅读(91)
0

web api 记录部署IIS获取服务器地址的类型

获取服务器地址类型分多种,以下记录 1、HttpContext.Current.Server.MapPath("~/File") 返回的值为 D:\3Project\Code\MobileService\WebApi\File。 本地服务:此路径为项目所在磁盘地址根目录。 部署服务器:为部署文件所在 ...

一抹阳光ps 发布于 2019-10-18 16:05 评论(0)阅读(194)
0

自定义工厂类

1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Reflection; 6 using System.Text; 7 ...

苍云者 发布于 2019-10-17 20:50 评论(0)阅读(171)
0

HashTable、Dictionary、ConcurrentDictionary三者区别

转载自https://blog.csdn.net/yinghuolsx/article/details/72952857 1、HashTable HashTable表示键/值对的集合。在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用 ...

酷学大叔 发布于 2019-10-17 17:18 评论(1)阅读(201)
0

.net core使用HttpClient发送代理请求_程序内抓包_Fiddler抓包

前言: 通过Fiddler抓取浏览器请求数据,相信大家已经都会用了,我们知道Fiddler是通过在本机计算器添加一个默认的代理服务器来实现的抓包数据的,端口号为:8888。 其实当我们打开Fiddler的设置也可以看到: 然后查看本地计算器的网络代理设置: 基于上面的原理,Fiddler就实现了经过 ...

深入学习ing 发布于 2019-10-14 14:28 评论(0)阅读(897)
2

.NET进阶篇02-Delegate委托、Event事件

知识只有经过整理才能形成技能 内容目录 一、概述二、解析委托知识点1、委托本质2、委托的使用3、委托意义逻辑解耦,减少重复代码代码封装,支持扩展匿名方法和Lambda表达式异步多线程多播委托三、事件四、总结 一、概述 先说下委托,委托我们也经常用到。详尽了解委托是必要的,不然在异步多线程的编程中会一 ...

那是山 发布于 2019-10-13 13:22 评论(1)阅读(557)
0

《C#并发编程经典实例》学习笔记—2.8 处理 async Task 方法的异常

异常处理一直是所有编程语言不可避免需要考虑的问题,C 的异步方法的异常处理和同步方法并无差别,同样要借助 try catch 语句捕获异常。 首先编写一个抛出异常的方法 常见的 try catch 处理语句。 async Task方法的异常存储在Task对象中,Task有一个Exception属性。 ...

repeatedly 发布于 2019-10-12 17:13 评论(0)阅读(189)
0

比较大小的几种方法

本人新手,很多都是摘抄,借鉴,用于留笔记用,以备不时之需,若有看客,轻喷。 方法一:直接使用(按顺序分别为,最小值,最大值,平均值) 这种方法在数组,list等都可使用,简单方便。 方法二:方法一不能满足需求时可以看看方法二能不能用。 方法三:使用ordby升序(降序)排序。排序后的数组第一个元素( ...

难博一笑 发布于 2019-10-12 09:27 评论(1)阅读(287)
0

c# dynamic动态类型和匿名类

dynamic类型 方法一:简单示例 dynamic expando = new System.Dynamic.ExpandoObject(); //动态类型字段 可读可写 expando.Id = 1; expando.Name = "Test"; string json = Utils.Conv ...

深入学习ing 发布于 2019-10-11 17:01 评论(0)阅读(283)
0

匿名方法中的捕获变量

乍一接触"匿名方法中的捕获变量"这一术语可能会优点蒙,那什么是"匿名方法中的捕获变量"呢?在章节未开始之前,我们先定义一个委托:public delegate void MethodInvoke(); 1、闭包和不同类型的变量: 首先,大家应该都知道"闭包",它的概念是:一个函数除了能通过提供给它的 ...

酷学大叔 发布于 2019-10-07 11:07 评论(0)阅读(218)
0

矩阵连乘求解优化

前言 从旭东的博客 看到一篇博文:矩阵连乘最优结合 动态规划求解,挺有意思的,这里做个转载【略改动】。 问题 矩阵乘法满足结合律,但不满足交换律。例如矩阵$A_{ab}, B_{bc}, C_{cd}$ 连乘得到矩阵$S_{ad}$ \[ S_{ad}=A_{ab} B_{bc} C_{cd} \] ...

谷谷非鼠 发布于 2019-10-07 00:07 评论(0)阅读(204)
1

ASP.NET MVC 实现简单的登录 源码

1、创建一个控制器 如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Demo.Models; //命名空间 nam ...

林小强 发布于 2019-10-05 22:40 评论(4)阅读(2323)
0

VS2017 打开WebService 提示已经在解决方案中打开了具有该名称的项目

.net开发。用VS2017工具,打开VS2010创建的WebSevice工程时,提示工程不可用。 重新加载后提示:已经在解决方案中打开了具有该名称的项目。 该问题原因是因为启用了源代码管理工具的问题。 打开sln文件,删除其中的关于这个WebService的配置信息。如下: SccProjectU ...

巡拜千年 发布于 2019-09-29 16:34 评论(0)阅读(258)
0

HashHelper

在C#中,数据的Hash以MD5或SHA-1的方式实现,MD5与SHA1都是Hash算法,MD5输出是128位的,SHA1输出是160位的,MD5比SHA1快,SHA1比MD5强度高。 MD5与SHA1的比较: 1)对强行攻击的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用 ...

酷学大叔 发布于 2019-09-29 09:09 评论(0)阅读(207)