namespace TBL.CSharp.Base
{
public static partial class Extension
{
///
/// 缓冲使用委托
///
public unsafe delegate void OnBufferUse(void* buffer);
///
/// 在栈上开辟一段指定长度的 缓冲区并立即使用
/// 因为 C# 的 作用域问题,使用此方式可以避免栈溢出
///
public static unsafe void UseStackBuffer(int size, OnBufferUse callback)
{
var buffer = stackalloc byte[size];
callback(buffer);
}
}
}