.NET 开发基础/互操作性类
.NET 开发基础 | |
---|---|
考试目标:将 COM 组件公开到 .NET Framework,并将 .NET Framework 组件公开到 COM
(参考 System.Runtime.InteropServices 命名空间)
- 首先,.NET 开发人员指南中有一篇文章涵盖了本节的第一部分,请参见 MSDN
将类型库导入为程序集 - MSDN
- 添加对类型库的引用
- 与上面链接相同,请参见第二段。
- 类型库导入器 (Tlbimp.exe) - MSDN
- 从类型库生成互操作程序集 - MSDN
- 导入库转换 - MSDN
- 导入模块转换 - MSDN
- 导入类型转换 - MSDN
- 导入成员转换 - MSDN
- 导入参数转换 - MSDN
- TypeConverter 类 - MSDN
在托管代码中创建 COM 类型 - MSDN
编译互操作项目 - MSDN
部署互操作应用程序 - MSDN
- 该部分的其余目标直接引用 MSDN
限定 .NET Framework 类型以进行互操作 - MSDN
应用互操作属性,例如 ComVisibleAttribute 类 - MSDN
为 COM 打包程序集 - MSDN
部署供 COM 访问的应用程序 - MSDN
考试目标:在 .NET Framework 应用程序中调用非托管 DLL 函数,并控制 .NET Framework 应用程序中的数据封送处理。
(参考 System.Runtime.InteropServices 命名空间)
平台调用 - MSDN
创建一个类来保存 DLL 函数 - MSDN
在托管代码中创建原型 - MSDN
- DllImportAttribute 类 - MSND
调用 DLL 函数 - MSDN
- 在互联网上搜索“P/Invoke”。
- 一个很好的参考是:http://www.pinvoke.net/
- 一些简短的提示
- 对于 DllAttribute “CharSet”,从逻辑上讲,CharSet.Auto 是最安全的方式,因为它将自动检测使用的字符集。字符集可以是 ANSI(Win95/Win98/ME) 或 Unicode (Win2000/WinXP)
- GetEntryPoint:可能有一个棘手的问题,因为 EntryPoint 指示应调用的方法。如果使用的方法名称与要调用的方法名称不同,则需要此标志。
在特殊情况下调用 DLL 函数,例如传递结构和实现回调函数
- 与上面链接相同
- 传递结构 - MSDN
- 实现回调函数 - MSDN
创建一个新的 Exception 类并将其映射到 HRESULT - MSDN
默认封送处理行为 - MSDN
使用平台调用封送处理数据 - MSDN
使用 COM 互操作性封送处理数据 - MSDN
MarshalAsAttribute 类和 Marshal 类
- MarshalAsAttribute 类 - MSDN
- Marshal 类 - MSDN
考试目标:在 .NET Framework 应用程序中实现反射功能(参考 System.Reflection 命名空间),并使用 System.Reflection.Emit 命名空间创建元数据、Microsoft 中间语言 (MSIL) 和 PE 文件。
Assembly 类 -MSDN
程序集属性 - MSDN
- AssemblyAlgorithmIdAttribute 类 - MSDN
- AssemblyCompanyAttribute 类 - MSDN
- AssemblyConfigurationAttribute 类 - MSDN
- AssemblyCopyrightAttribute 类 - MSDN
- AssemblyCultureAttribute 类 - MSDN
- AssemblyDefaultAliasAttribute 类 - MSDN
- AssemblyDelaySignAttribute 类 - MSDN
- AssemblyDescriptionAttribute 类 - MSDN
- AssemblyFileVersionAttribute 类 - MSDN
- AssemblyFlagsAttribute 类 - MSDN
- AssemblyInformationalVersionAttribute 类 - MSDN
- AssemblyKeyFileAttribute 类 - MSDN
- AssemblyTitleAttribute 类 - MSDN
- AssemblyTrademarkAttribute 类 - MSDN
- AssemblyVersionAttribute 类 - MSDN
信息类
- ConstructorInfo 类 - MSDN
- MethodInfo 类 - MSDN
- MemberInfo 类 - MSDN
- PropertyInfo 类 - MSDN
- FieldInfo 类 - MSDN
- EventInfo 类 - MSDN
- LocalVariableInfo 类 - MSDN
Binder 类和 BindingFlags - MSDN
MethodBase 类和 MethodBody 类
- MethodBase 类 - MSDN
- MethodBody 类 - MSDN
生成器类
- AssemblyBuilder 类 - MSDN
- ConstructorBuilder 类 - MSDN
- EnumBuilder 类 - MSDN
- EventBuilder 类 - MSDN
- FieldBuilder 类 - MSDN
- LocalBuilder 类 - MSDN
- MethodBuilder 类 - MSDN
- ModuleBuilder 类 - MSDN
- ParameterBuilder 类 - MSDN
- PropertyBuilder 类 - MSDN
- TypeBuilder 类 - MSDN
发送电子邮件
[edit | edit source]考试目标:从 .NET Framework 应用程序向简单邮件传输协议 (SMTP) 服务器发送电子邮件以进行传递。
(请参考 System.Net.Mail 命名空间)
MailMessage 类 - MSDN
MailAddress 类和 MailAddressCollection 类
- MailAddress 类 - MSDN
- MailAddressCollection 类 - MSDN
SmtpClient 类、SmtpPermission 类和 SmtpPermissionAttribute 类
- SmtpClient 类 - MSDN
- SmtpPermission 类 - MSDN
- SmtpPermissionAttribute 类 - MSDN
Attachment 类、AttachmentBase 类和 AttachmentCollection 类
- Attachment 类 - MSDN
- AttachmentBase 类 - MSDN
- AttachmentCollection 类 - MSDN
SmtpException 类、SmtpFailedReceipientException 类和 SmtpFailedReceipientsException 类
- SmtpException 类 - MSDN
- SmtpFailedReceipientException 类 - MSDN
- 请注意,考试目标页面中存在一个错别字,它们使用的是 SmtpFailedReceipientException 而不是 SmtpFailedRecipientException。
- SmtpFailedRecipientsException 类 - MSDN
- 与上面相同的错别字
SendCompleteEventHandler 委托 - MSDN
LinkedResource 类和 LinkedResourceCollection 类
- LinkedResource 类 - MSDN
- LinkedResourceCollection 类 - MSDN
AlternateView 类和 AlternateViewCollection 类
- AlternateView 类 - MSDN
- AlternateViewCollection 类 - MSDN