c# µÄnamespaceÒÔ¼°assembly
1 NameSapce
1 1¸önamespaceÀïÃæ¿ÉÒÔÓжà¸öÀà
2 namespaceºÍcsÎļþÊǶà¶Ô¶àµÄ¹ØÏµ¡£
3 µ÷ÓÃÁíÒ»¸önamespaceµÄÉùÃ÷£¬¿ÉÒÔʹÓÃusing <namespace> £¬È»ºóÖ±½Óµ÷ÓÃÀàÃû£¬»òÕßʹÓÃnamespace.ÀàÃûÀ´µ÷ÓÃ
4 namespaceÖ§³Ö±ðÃû(alias) using namespace = namespace.classname,Èçusing mycar = consoleapplciation1.car;
5 namespaceÖ§³ÖǶÌ×
2 Assembly
1 Assembly Á½ÖÖÀàÐÍ,exe »òdll, Á½ÖÖÀàÐͶ¼¿ÉÒÔ±»ÆäËû³ÌÐòµ÷Ó㬵õ½ÄÚ²¿µÄClass Type.
2 .net µÄAssembly¾ßÓÐÓïÑÔÎÞ¹ØÐÔ£¬c#µÄ³ÌÐò¿ÉÒÔµ÷ÓûòÕ߼̳Ðvb.net±àдµÄDLL/exe assemblyÖеÄtype
3 C#ÖеÄtypeÊÇÓÉnamespace.type¾ö¶¨µÄ£¬Èç¹ûÁ½¸öassembly(dll/exe),Öаüº¬ÓÐÏàͬµÄnamespace.type,ÄÇôc#ÈÏΪÁ½ÕßÏàͬ
4 AssemblyÓÐÒ»¸ö4λÊýµÄ°æ±¾ºÅ <major>.<minor>.<build>.<revision>
5 C#ÖеÄAssemblyʹÓÃmanifestÎļþÒÔ¼°×ÔÉíÀ´ÃèÊö×ÔÉíµ÷ÓÃµÄÆäËûAssembly£¬°æ±¾ºÅÒÔ¼°ÄÚ²¿°üº¬µÄType,ClassµÈ¡£
6 AssemblyµÄ×é³É²¿·Ö: Win32µÄÎļþÍ·/CLRÎļþÍ·/CIL code /type metadata/manifest/resourceÎļþ
3 µ¥ÎļþºÍ¶àÎļþAssembly
¶àÎļþAssemblyÒ»°ã°üÀ¨×ÊÔ´Îļþ(Èçbmp),.netModuleÎļþ(°üÀ¨type metadataºÍCIL Code),ÕâЩÎļþÓÉÖ÷dllµÄmanifestÎļþÖÐÖ¸¶¨ËµÃ÷
4 Private Assembly
ºÍapplicationÔÚͬһ¸öĿ¼»òÕß×ÓĿ¼Ï£¬Èç¹ûÔÚexeÖÐÖ¸¶¨ÁËreference£¬ÔòÔÚµÚÒ»´Î±àÒëʱ£¬»á½«¶ÔÓ¦µÄdll¿½±´µ½exeĿ¼ÖУ¬Ö´ÐÐexeÎļþʱ£¬exe»á´Ó¿½±´µÄdllÖеõ½type.Ö÷ÒªÊÇc#ÖÐÊDz»»áͨ¹ý×¢²á±íµÃµ½Ö¸¶¨µÄdll.
Private AssemblyµÄΨһ±ê־ΪÎļþÃû+°æ±¾ºÅ
5 exeµÄconfigureÎļþ exe.config
1 Èçprivate assemblyλÓÚexeËùÔÚĿ¼µÄ×ÓĿ¼£¬ÔòÐèÒªÔÚconfigÎļþÖÐÖ¸¶¨Ä¿Â¼Ãû£¬Èç
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="MyLibraries"/>
</assemblyBinding>
</runtime>
</configuration>
Èç¹ûÊǶà¸öĿ¼£¬Ôò¿ÉÒÔдΪ<probing privatePath="MyLibraries; MyLibraries\Tests"/>
6 Shared Assembly
ͬprivateµÄÇø±ð¾ÍÊÇcompile²»»á¿½±´Ò»¸ö
Ïà¹ØÎĵµ£º
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDual)]
public class Object
1 public virtual bool Equels (Object)
2 public static bool static Equels (Object,Object)
ĬÈÏʵÏÖΪ¶ÔÒýÓÃÀàÐÍʹÓÃÒýÓÃÏàµÈ£¬¶ÔÖµÀàÐÍʹÓöþ½øÖư´Î»ÏàµÈ¡£ÒýÓÃÏàµÈÐÔÊÇÖ¸½ø ......
C:\ProgramFiles\MicrosoftVisual Studio .NET\ FrameworkSDK\Samples\ Technologies\ Interop\PlatformInvoke\ WinAPIs\CSĿ¼ÏÂÓдóÁ¿µÄµ÷ÓÃAPIµÄÀý×Ó¡£
Ò»¡¢µ÷Óøñʽ
using System.Runtime.InteropServices; //ÒýÓôËÃû³Æ¿Õ¼ä£¬¼ò»¯ºóÃæµÄ´úÂë
//ʹÓÃDllImportAttributeÌØÐÔÀ´ÒýÈëapiº¯Êý£¬×¢ÒâÉùÃ÷µÄÊǿշ½·¨£¬¼´·½· ......
ü ref¡¢out¡¢Óëparams
Ó¦¸ÃÀ´ËµÕâÈý¸ö¹Ø¼üÔÚÒ»°ãµÄ±àÂë¹ý³ÌÖл¹ÊÇ»á²»Ê±Éæ¼°µ½µÄ£¬ËùÒÔ²»Ëãʲô“À䯧”µÄ¸ÅÄî¡£ÓйØÈý¸ö²ÎÊýÐÞÊηûµÄ½âÊÍÈçÏ£º
Ref£ºref¹Ø¼ü×ÖÈÃÒ»¸öÖµÀàÐ͵ÄÊäÈë²ÎÊý°´ÒýÓô«µÝ¡£Êµ¼ÊÉÏ£¬¶ÔÓÚÒýÓÃÀàÐ͵IJÎÊý£¬ÊÇ·ñʹÓÃref¹Ø¼ü×Ö£¬²î±ð΢ºõÆä΢¡£ÓÐÒ»¸öÀýÍâÊÇStringÀàÐ͵IJΠ......
C#»Ï߿ؼþµÄÓ¦ÓÃʵÀý½éÉÜ֮ǰÎÒÃÇÒªÃ÷°×ÔÚC#ÖÐûÓлÏߵĿؼþ£¬ÕâÀïдÁËÒ»¸ö£¬´ó¼Ò·ÖÏí¡£¹²ÓÐÁ½¸ö¿Ø¼þ·Ö±ðÊÇ»ºáÏߺͻÊúÏߵ쬹ØÓÚÔõô»Ð±ÏßÓÐÐËȤµÄ¿ÉÒÔ×öÒ»¸ö´ó¼Ò·ÖÏí¡£
C#»Ï߿ؼþÖ®ºáÏß
using System;
using System.Collections;
using System.ComponentModel; ......
c#ÖлùÀࣨ¸¸ÀࣩÖеÄij·½·¨ÈôÏëÔÚÅÉÉúÀࣨ×ÓÀࣩÖб»ÖØÐ´£¨override£©£¬±ØÐ뽫»ùÀàÖеķ½·¨¶¨ÒåΪvirtual£¬¼´Ð麯Êý¡£
ÈôÅÉÉúÀཫ·½·¨ÐÞÊÎΪnew£¬¼´ÓÐÒâÒþ²Ø»ùÀàÖеķ½·¨¡£
ÏÂÃæ¿´Ò»×é´úÂ룺
public class Father
{
public void hand()
{
Console.WriteLine("Father.hand");
}
}
......