【C#中的类型推断】教程文章相关的互联网学习教程文章

对于C#二进制文件,匿名类的类型信息存储在哪里?【代码】

我用C#进行了实验,首先创建了一个名为“ ClassLibrary1”的类库,其代码如下:public class ClassLibrary1 {public static void f(){var m = new { m_s = "abc", m_l = 2L };Console.WriteLine(m.GetType());} }注意,我删除了IDE生成的名称空间信息.然后我用下面的代码创建了控制台应用程序:(还删除了名称空间)在引用ClassLibrary1时:class Program {static void Main(){var m = new {m_s = "xyz", m_l = 5L};Console.WriteLine(m...

c#-声明具有限制类型的泛型字典【代码】

我需要声明一个具有Type作为键和一个实例作为值的Dictionary. 我需要将键类型限制为某个类层次结构. 对于Java Map,我可以执行以下操作:Map<Class<? extends MySuperClass>, ? extends MySuperClass>如何在C#中实现呢?解决方法:不要直接公开Dictionary,这样您可以手动控制何时添加public void AddToDictionary(Type key, object value) {if(!key.IsAssignableFrom(typeof(SomeBaseClass))throw new ArgumentException("Must be an...

c#-Visual Studio 2015 IntelliTest:所选类型不可见,无法浏览【代码】

我有以下代码:class Program {static void Main(string[] args){var area = AreaofSquare(5.0);}static double AreaofSquare(double side){double area;area = Math.Pow(side, 2);return area;} }当我右键单击AreaofSquare方法并选择“运行IntelliTest”时,出现以下错误消息:The selected type is not visible and cannot be explored为什么会出现这个错误?解决方法:IntelliTest仅适用于公共方法.将访问修饰符更改为public即可....

c#-无法将索引应用于类型为’system.data.datatable’的表达式【代码】

我在SQL Server 2008中有一个Login表,我想在DataColumn中检查一个有效的用户. 我试图通过索引从DataColumn检索值,但收到错误.cannot apply indexing with to an expression of type ‘system.data.datatable’.这是代码:string connectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=DRZare;Integrated Security=true;";SqlConnection LOGINCONNECTION = new SqlConnection(connectionString);string commandText = "se...

c#-Leadtools.Codecs.dll中发生类型为’Leadtools.RasterException’的未处理异常【代码】

我在C#中使用Lead Tool.并且在以下代码中出现错误.裁剪图片时,我从JS传递了此字符串base64String值,然后使用Base64ToImage函数在c#中将其转换为Image.这就是我所做的所有完整代码.private static Image Base64ToImage(string base64String){Image img = null;// Convert Base64 String to byte[]byte[] imageBytes = Convert.FromBase64String(base64String);using (MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes...

将数组从VBA传递到C#时,数据类型不匹配在哪里?【代码】

我的C#COM DLL有一个接受float数组和long int数组的方法.它返回一个浮点数. 在MS Access模块??的VBA中,我创建了一个single类型和long类型的数组,填充它们,创建DLL app.class对象,然后使用这两个数组调用其方法.但是我收到“类型不匹配”错误. 以下是实际的代码,但是很简单,因为在添加“真实”代码之前,我正在尝试进行通信. C#代码:public float JustTesting(float[] Array1, long[] Array2) {return 96.0F; }VBA代码:Public Sub ...

首页> C#> Unity:当前类型是一个接口,不能被构造【代码】

下面的代码开始public interface IDataContextAsync : IDataContext {Task<int> SaveChangesAsync(CancellationToken cancellationToken);Task<int> SaveChangesAsync(); }public partial class DB1Context : DataContext{ }public partial class DB2Context : DataContext{ }以下是UnityConfig文件.注意:我正在为ASP.Net MVC使用Nuget引导程序,以下是我的UnityConfig文件public static void RegisterTypes(IUnityContainer conta...

C#将对象强制转换为存储在字符串变量中的另一种类型【代码】

我有MyWord类以及从MyWord继承的许多其他类,例如Noun,Idiom等. 我将这些对象存储在一个列表中:List<MyWord> Dictionary;当我向列表中添加新元素时,我会这样:var myWord = new MyWord(id, word, definition,type,DateTime.Now.ToShortDateString()); Dictionary.Add(myWord);如您所见,我在其中放置了MyWord对象.我希望能够创建例如Noun对象并将其放入列表中,如下所示:var myWord = new Noun(id, word, definition, type, DateTim...

在C#中是否可以使用具有1种以上返回类型的函数?【代码】

我知道函数本身的返回类型不能超过1.我在寻找替代品. 情境 我有一个具有各种属性的类产品.我有一个班级折扣,其中有很多其他班级(不同类型的折扣) 折扣(无论类型如何)都是对象,因为它们都具有类型(百分比/固定)和值(十进制格式的价格)等.每个折扣都具有分配给它的产品,以便系统知道应用此折扣规则的产品. 三种折扣类型: 基本折扣高级折扣超级折扣 我有一个List< T>每一个不同的折扣,以便它们按类型分组. 我的目标是拥有一个将产品作...

c#-将数据类型nvarchar转换为int时出错-执行存储过程时【代码】

我有一个执行创建,编辑,删除和读取操作的存储过程.ALTER PROCEDURE [dbo].[CURDOpSP] @operation varchar(50), @regid int = 0, @fname varchar(50) = null, @lname varchar(50) = null, @phone varchar(50) = null, @email varchar(50) = nullAS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;-- Insert statements for procedure here if(@oper...

(通过反射)检测C#中Enum是否为“标志”类型的策略【代码】

我正在使用反射来读取程序集中的类型(以生成代码).我可以看到应该使用[Flags]属性标记了一些枚举,但是写这些枚举的人忘记了添加此属性. 有没有可靠的方法来检测何时可以将枚举视为“标记”枚举? 目前,我的策略是按降序读取枚举,并检查element(last -1)* 2 == element(last)的值. 在大多数情况下,这很好用,除非我的枚举分别带有0、1和2值(可以是标志也可以不是标志). 编辑: 我想将其检测为标志的枚举示例:public enum EnumIsFlag...

c#-具有相同名称的通用和非通用类型的约定【代码】

任务是以通用和非通用形式存在的类的示例.通用形式扩展了非通用形式.public class Task {}public class Task<T> : Task {}说我正在自己实施某种东西.通常,惯例是将不同的类放在不同的文件中.由于它们具有相同的名称,因此在这里是不可能的. 这种情况的惯例是什么?将这两个类都放在同一个文件中,还是将通用类放在另一个文件中,但使用不同的名称?解决方法:尽管Microsoft没有发布处理这种情况的标准方法,但他们将Task< TResult>在另一...

C#-Rx:从具有不同类型的可观察对象创建后续可观察对象(链接观察者)【代码】

我们遇到一种情况,对服务的方法调用返回IObservable< T1>.但我们的客户希望获得IObservable T2.将T1转换为T2并不容易. Rx中是否有某些东西可以做到这一点? (即链接观察者) 我知道我可以手动创建一个辅助观察器,然后侦听原始观察器的更改,然后使用新类型将其转发,但我想知道是否有更清洁的方法吗? 非常感谢,解决方法:您可以将IObservable< T1>到10b可观察到的T 2.使用选择IObservable<T2> stream = service.MethodCall().Select( ...

C#-UWP拖放自定义类型/类【代码】

嗨,我正在尝试启用拖放功能在2个GridView之间移动时,我设法使用“ DataPackage”类的自定义类型(SetText,SetBitmap等)来完成此操作,但是我不知道如何使用自定义类/类型来做到这一点.两个GridView都将数据绑定到同一个自定义类(只有几个属性,即int,string,bitmapimage),我只是想直接将此数据项从一个GridView拖到另一个.非常感谢您的帮助!解决方法:我遇到了同样的问题,请检查使用行为的示例,因为我使用了MVVM模式,但我对ListView进...

c#-基于可为空的类型创建泛型类的实例【代码】

我想创建将某些类型的值作为参数的泛型函数. >此类型可以为空或不能为空.>如果value为null函数应该返回null.>如果它不是null,并且它不是可为null的类型,则函数应返回MyGenericClass< T>(parameter)(也可以通过属性设置参数,此处无需使用构造函数)>如果它不是null,并且它是可为null的类型,则函数应该返回类似MyGenericClass< NotNullType(T)>(parameter.Value)的示例:对于参数int? x,函数应返回MyGenericClass< int>(x.Value). 这...