【C#中跨多个源文件的Typedef】教程文章相关的互联网学习教程文章

C#中跨多个源文件的Typedef【代码】

我正在编写一个C包装程序,希望使用等效的typedef来定义一些类型,这些类型应该在很多源文件中都有效.这些“类型”只是与[u] int16 / 32 / 64_t不同的别名,但是对于区分函数参数很有用. 可以使用MyId = System.Int32;来使用,但是据我所知,每个文件都需要重新声明.有没有更好的方法?解决方法:一种替代方法是使用具有隐式转换为基础类型的结构.public struct MyHandle {private int _handle;internal MyHandle(int handle){_handle = ...

C#-GetGenericTypeDefinition返回不同的类型【代码】

鉴于我有以下几种类型interface IMyInterface<T> { } class MyClass<T> : IMyInterface<T> { }以下5行为什么不会产生相同的结果?var type1 = typeof(IMyInterface<>); var type2 = typeof(IMyInterface<object>).GetGenericTypeDefinition(); var type3 = typeof(MyClass<>).GetInterfaces().Single(); var type4 = typeof(MyClass<object>).GetInterfaces().Single().GetGenericTypeDefinition(); var type5 = typeof(MyClass<ob...

c# – 来自IEnumerable的GenericTypeDefinitionName【代码】

注意:这个问题涉及技术方面,而不是设计决策.回答或评论不同的设计并不能回答这个问题,因为我只对这个特定问题的技术方面的性质感兴趣. 在C#6.0中我有这个方法,我传递了一个IEnumerable< T>:public void MyMethod(IEnumerable<object> list) { ... }假设调用者在MyClass []数组上调用它.我想要的是泛型类型定义的类名,我有这个方法的实现:public void MyMethod(IEnumerable<object> list) {...var name =from abstraction in lis...

c# – 从另一个程序集添加TypeDefinition【代码】

这个让我发疯.AssemblyDefinition asm1 = AssemblyDefinition.ReadAssembly(example); AssemblyDefinition asm2 = AssemblyDefinition.ReadAssembly(example2); asm2.MainModule.Types.Add(asm1.MainModule.Types[0]);每当我尝试执行上面的代码时,我都会收到此错误“Type has attached”我决定在MonoCecil源代码中查看此错误,我发现它会抛出此错误,因为Type的MainMoudle不是asm2 MainModules.所以我决定将该类型复制到一个新类型.T...

TYPEDEF - 相关标签