.NET 调用kernel32的函数解决办法

.NET 调用kernel32的函数
在便用 .NET 调用kernel32的函数时  
[DllImport("kernel32.dll", ExactSpelling = true)]
        internal static extern IntPtr GetCurrentProcess();
有这种 .
也有
DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")] 
  public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize); 
 这种     这两种里面  internal static extern和public static extern 是怎么确定用哪个的?
------解决方案--------------------
访问修饰符而已。
internal表示本程序集里可以访问,public则本程序集,其他程序集都可以访问。
------解决方案--------------------
public和static写前写后没有区别
如果你的api声明的函数在当前程序集内调用,public和internal也没有区别
------解决方案--------------------
这个api会被引用你的dll的程序调用就用public,如果就本项目内使用就internal