本文整理汇总了C#中WeakFunc.Execute方法的典型用法代码示例。如果您正苦于以下问题:C# WeakFunc.Execute方法的具体用法?C# WeakFunc.Execute怎么用?C# WeakFunc.Execute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WeakFunc
的用法示例。
在下文中一共展示了WeakFunc.Execute方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestPublicClassPublicStaticMethod
public void TestPublicClassPublicStaticMethod()
{
Reset();
_itemPublic = new PublicTestClass();
_reference = new WeakReference(_itemPublic);
_action = _itemPublic.GetFunc(WeakActionTestCase.PublicStaticMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
var result = _action.Execute();
Assert.AreEqual(
PublicTestClass.Expected + PublicTestClass.PublicStatic,
PublicTestClass.Result);
Assert.AreEqual(
PublicTestClass.Expected + PublicTestClass.PublicStatic,
result);
_itemPublic = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}
示例2: TestInternalNestedClassAnonymousStaticMethod
public void TestInternalNestedClassAnonymousStaticMethod()
{
Reset();
_itemInternal = new InternalNestedTestClass();
_reference = new WeakReference(_itemInternal);
_action = _itemInternal.GetFunc(WeakActionTestCase.AnonymousStaticMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
string result = _action.Execute();
Assert.AreEqual(
InternalNestedTestClass.Expected,
InternalNestedTestClass.Result);
Assert.AreEqual(
InternalNestedTestClass.Expected,
result);
_itemInternal = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}
示例3: TestPublicNestedClassPublicNamedMethod
public void TestPublicNestedClassPublicNamedMethod()
{
Reset();
const int index = 99;
_itemPublic = new PublicNestedTestClass(index);
_action = _itemPublic.GetFunc(WeakActionTestCase.PublicNamedMethod);
_reference = new WeakReference(_itemPublic);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
var result = _action.Execute();
Assert.AreEqual(
PublicNestedTestClass.Expected + PublicNestedTestClass.Public + index,
PublicNestedTestClass.Result);
Assert.AreEqual(
PublicNestedTestClass.Expected + PublicNestedTestClass.Public + index,
result);
_itemPublic = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}
示例4: TestPublicClassPublicStaticMethod
public void TestPublicClassPublicStaticMethod()
{
Reset();
const string parameter = "My parameter";
_itemPublic = new PublicTestClass<string>();
_reference = new WeakReference(_itemPublic);
_action = _itemPublic.GetFunc(WeakActionTestCase.PublicStaticMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
var result = _action.Execute(parameter);
Assert.AreEqual(
PublicTestClass<string>.Expected + PublicTestClass<string>.PublicStatic + parameter,
PublicTestClass<string>.Result);
Assert.AreEqual(
PublicTestClass<string>.Expected + PublicTestClass<string>.PublicStatic + parameter,
result);
_itemPublic = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}
示例5: TestInternalClassAnonymousStaticMethod
public void TestInternalClassAnonymousStaticMethod()
{
Reset();
const string parameter = "My parameter";
_itemInternal = new InternalTestClass<string>();
_reference = new WeakReference(_itemInternal);
_action = _itemInternal.GetFunc(WeakActionTestCase.AnonymousStaticMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
string result = _action.Execute(parameter);
Assert.AreEqual(
InternalTestClass<string>.Expected + parameter,
InternalTestClass<string>.Result);
Assert.AreEqual(
InternalTestClass<string>.Expected + parameter,
result);
_itemInternal = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}
示例6: TestPublicClassInternalNamedMethod
public void TestPublicClassInternalNamedMethod()
{
Reset();
const int index = 99;
_itemPublic = new PublicTestClass(index);
_reference = new WeakReference(_itemPublic);
_action = _itemPublic.GetFunc(WeakActionTestCase.InternalNamedMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
var result = _action.Execute();
Assert.AreEqual(
PublicTestClass.Expected + PublicTestClass.Internal + index,
PublicTestClass.Result);
Assert.AreEqual(
PublicTestClass.Expected + PublicTestClass.Internal + index,
result);
_itemPublic = null;
GC.Collect();
#if SILVERLIGHT
Assert.IsTrue(_reference.IsAlive); // Anonymous, private and internal methods cannot be GCed
_action = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
#else
Assert.IsFalse(_reference.IsAlive);
#endif
}
示例7: TestInternalClassPrivateStaticMethod
public void TestInternalClassPrivateStaticMethod()
{
Reset();
_itemInternal = new InternalTestClass();
_reference = new WeakReference(_itemInternal);
_action = _itemInternal.GetFunc(WeakActionTestCase.PrivateStaticMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
var result = _action.Execute();
Assert.AreEqual(
InternalTestClass.Expected + InternalTestClass.PrivateStatic,
InternalTestClass.Result);
Assert.AreEqual(
InternalTestClass.Expected + InternalTestClass.PrivateStatic,
result);
_itemInternal = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}
示例8: TestInternalNestedClassInternalNamedMethod
public void TestInternalNestedClassInternalNamedMethod()
{
Reset();
const int index = 99;
_itemInternal = new InternalNestedTestClass(index);
_reference = new WeakReference(_itemInternal);
_action = _itemInternal.GetFunc(WeakActionTestCase.InternalNamedMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
string result = _action.Execute();
Assert.AreEqual(
InternalNestedTestClass.Expected + InternalNestedTestClass.Internal + index,
InternalNestedTestClass.Result);
Assert.AreEqual(
InternalNestedTestClass.Expected + InternalNestedTestClass.Internal + index,
result);
_itemInternal = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}
示例9: TestPrivateNestedClassPublicStaticMethod
public void TestPrivateNestedClassPublicStaticMethod()
{
Reset();
_itemPrivate = new PrivateNestedTestClass();
_reference = new WeakReference(_itemPrivate);
_action = _itemPrivate.GetFunc(WeakActionTestCase.PublicStaticMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
string result = _action.Execute();
Assert.AreEqual(
PrivateNestedTestClass.Expected + PrivateNestedTestClass.PublicStatic,
PrivateNestedTestClass.Result);
Assert.AreEqual(
PrivateNestedTestClass.Expected + PrivateNestedTestClass.PublicStatic,
result);
_itemPrivate = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}
示例10: TestPrivateNestedClassAnonymousMethod
public void TestPrivateNestedClassAnonymousMethod()
{
Reset();
const int index = 99;
_itemPrivate = new PrivateNestedTestClass(index);
_reference = new WeakReference(_itemPrivate);
_action = _itemPrivate.GetFunc(WeakActionTestCase.AnonymousMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
string result = _action.Execute();
Assert.AreEqual(
PrivateNestedTestClass.Expected + index,
PrivateNestedTestClass.Result);
Assert.AreEqual(
PrivateNestedTestClass.Expected + index,
result);
_itemPrivate = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}
示例11: TestInternalClassAnonymousMethod
public void TestInternalClassAnonymousMethod()
{
Reset();
const int index = 99;
const string parameter = "My parameter";
_itemInternal = new InternalTestClass<string>(index);
_reference = new WeakReference(_itemInternal);
_action = _itemInternal.GetFunc(WeakActionTestCase.AnonymousMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
var result = _action.Execute(parameter);
Assert.AreEqual(
InternalTestClass<string>.Expected + index + parameter,
InternalTestClass<string>.Result);
Assert.AreEqual(
InternalTestClass<string>.Expected + index + parameter,
result);
_itemInternal = null;
GC.Collect();
#if SILVERLIGHT
Assert.IsTrue(_reference.IsAlive); // Anonymous, private and internal methods cannot be GCed
_action = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
#else
Assert.IsFalse(_reference.IsAlive);
#endif
}
示例12: TestPublicClassInternalNamedMethod
public void TestPublicClassInternalNamedMethod()
{
Reset();
const string parameter = "My parameter";
const int index = 99;
_itemPublic = new PublicTestClass<string>(index);
_reference = new WeakReference(_itemPublic);
_action = _itemPublic.GetFunc(WeakActionTestCase.InternalNamedMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
string result = _action.Execute(parameter);
Assert.AreEqual(
PublicTestClass<string>.Expected + PublicTestClass<string>.Internal + index + parameter,
PublicTestClass<string>.Result);
Assert.AreEqual(
PublicTestClass<string>.Expected + PublicTestClass<string>.Internal + index + parameter,
result);
_itemPublic = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}
示例13: TestInternalClassPrivateNamedMethod
public void TestInternalClassPrivateNamedMethod()
{
Reset();
const string parameter = "My parameter";
const int index = 99;
_itemInternal = new InternalTestClass<string>(index);
_reference = new WeakReference(_itemInternal);
_action = _itemInternal.GetFunc(WeakActionTestCase.PrivateNamedMethod);
Assert.IsTrue(_reference.IsAlive);
Assert.IsTrue(_action.IsAlive);
string result = _action.Execute(parameter);
Assert.AreEqual(
InternalTestClass<string>.Expected + InternalTestClass<string>.Private + index + parameter,
InternalTestClass<string>.Result);
Assert.AreEqual(
InternalTestClass<string>.Expected + InternalTestClass<string>.Private + index + parameter,
result);
_itemInternal = null;
GC.Collect();
Assert.IsFalse(_reference.IsAlive);
}