gpt4 book ai didi

c# - 如何在 C# 中创建自定义锁定语句?

转载 作者:行者123 更新时间:2023-11-30 20:07:22 25 4
gpt4 key购买 nike

我想为 C# 编译器创建自定义语句以生成 try finally block 。就像锁语句一样。

例如

private readonly ReaderWriterLockSlim _lockObject

private void MyMethod()
{
MyWriteLock(lockObject)
{

}
}

private void MyMethod2()
{
MyReadLock(lockObject)
{

}
}

编译器应该为我生成以下代码

private void MyMethod()
{
try
{
lockObject.EnterWriteLock();
.. statetments for the method
}
finally
{
_lockObject.ExitWriteLock();
}
}

private void MyMethod2()
{
try
{
lockObject.EnterReadLock();
.. statetments for the method
}
finally
{
_lockObject.ExitReadLock();
}
}

最佳答案

您不能在 C# 中创建自己的语句。最接近 try/finally 的是 using 语句:

using (lockObject.AcquireReadToken())
{
}

其中 AcquireReadToken() 将获取读取锁,并返回一个 IDisposable,它会在释放锁时释放锁。

关于c# - 如何在 C# 中创建自定义锁定语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8601558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com