Source/Ribbon/FadeAnimator.cs
(开头部分) 6KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Text;
using System.Collections;
using System.Threading;
namespace DevComponents.DotNetBar
{
internal class FadeAnimator
{
// Fields
private static Thread fadeThread;
private static ArrayList fadeInfoList;
private static ReaderWriterLock rwImgListLock;
[ThreadStatic]
private static int threadWriterLockWaitCount;
// Methods
static FadeAnimator()
{
FadeAnimator.rwImgListLock = new ReaderWriterLock();
}
private FadeAnimator() {}
public static void Fade(object caller, EventHandler onFadeChangedHandler)
{
if (caller != null)
{
FadeAnimator.FadeInfo fadeInfo = null;
lock (caller)
{
fadeInfo = new FadeAnimator.FadeInfo(caller);
}
FadeAnimator.StopFade(caller, onFadeChangedHandler);
bool flag1 = FadeAnimator.rwImgListLock.IsReaderLockHeld;
LockCookie cookie1 = new LockCookie();
FadeAnimator.threadWriterLockWaitCount++;
try
{
if (flag1)
{
cookie1 = FadeAnimator.rwImgListLock.UpgradeToWriterLock(-1);
}
else
{
FadeAnimator.rwImgListLock.AcquireWriterLock(-1);
}
}
finally
{
FadeAnimator.threadWriterLockWaitCount--;
}
try
{
if (FadeAnimator.fadeInfoList == null)
{
FadeAnimator.fadeInfoList = new ArrayList();
}
fadeInfo.FadeChangedHandler = onFadeChangedHandler;
FadeAnimator.fadeInfoList.Add((FadeAnimator.FadeInfo)fadeInfo);
后面还有 143 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。