编程了一段时间后,我注意到我越来越依赖互联网和智能感知来完成我的工作.但我想知道在过去一年左右这对我的知识有多大影响.但这有关系吗?
例如,我现在更有可能记住,当我需要针对我不了解的对象进行编程时,我将转到System.Reflection命名空间,快速查看列表将为我提供足够的细节以便再次进行.但是,如果你问我需要哪些课程,我会很难将它们全部命名.
当人们似乎更多地关注.NET框架的模糊区域的细节而不是关于申请人的广泛和多样的知识和经验时,这种记忆问题似乎更多地表现在采访中.无论如何我离题了.
有没有其他人认为可能是时候关闭智能感知并尝试找到更好的学习方法,而不是快速修复和解决互联网问题?
我有一个.NET库,我试图更多地了解.NET的内部工作原理.所以我将通过ECMA-335规范并使用CFF Explorer VII.
我的问题是,在TypeSpec表中,Signature是Blob堆的索引,应该是TypeSpec签名,如第23.2.14节所述.这意味着它可以是PTR,FNPTR,ARRAY,SZARRAY,GENERICINSTANCE(ELEMENT_TYPE_为简洁起见而删除).
但是,我在这个TypeSpec表中有两个条目,它们似乎没有被元数据中的任何其他表引用,并且类型为VAR 0x13和MVAR 0x1e.
该程序集在VS2010中针对.NET 4进行编译.
ECMA-335会让我相信这是一个错误,但它是使用MS C#编译器编译的.
有谁知道它们是什么,它们是什么意思?
更新:
经过大量的乱码后,这段代码在TypeSpec表中创建了这两个条目.
public class AllOutputTypesClass<T> {
public void GenericMethod<N>(N anItem) {
string s = anItem.ToString();
}
public string GenericMethod<N>(T anItem, N secondItem) {
return anItem.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)