контекстный вызов работает и передача объектов по сети тоже
This commit is contained in:
@@ -9,12 +9,16 @@ public interface ITestController
|
||||
Task AAsync(CancellationToken cancellationToken);
|
||||
int B();
|
||||
Task<int> BAsync(CancellationToken cancellationToken);
|
||||
|
||||
TransmittedSharedObject<ITestController> SharedObjectTransmitionTest();
|
||||
}
|
||||
|
||||
[SharedObjectSingleton]
|
||||
public class TestController : ITestController
|
||||
{
|
||||
public ITestController? ReturnIfNotNull;
|
||||
private int _bOut = 5;
|
||||
|
||||
public void A()
|
||||
{
|
||||
Console.WriteLine("A called");
|
||||
@@ -34,4 +38,40 @@ public class TestController : ITestController
|
||||
{
|
||||
return Task.FromResult(5);
|
||||
}
|
||||
|
||||
public TransmittedSharedObject<ITestController> SharedObjectTransmitionTest()
|
||||
{
|
||||
return new TransmittionTestController { ReturnIfNotNull = ReturnIfNotNull ?? new TestController() };
|
||||
}
|
||||
}
|
||||
|
||||
public class TransmittionTestController : ITestController
|
||||
{
|
||||
public ITestController ReturnIfNotNull;
|
||||
|
||||
public void A()
|
||||
{
|
||||
Console.WriteLine("A called alternative");
|
||||
}
|
||||
|
||||
public Task AAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
Thread.Sleep(500);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public int B()
|
||||
{
|
||||
return 456789;
|
||||
}
|
||||
|
||||
public Task<int> BAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
return Task.FromResult(465789);
|
||||
}
|
||||
|
||||
public TransmittedSharedObject<ITestController> SharedObjectTransmitionTest()
|
||||
{
|
||||
return new TestController { ReturnIfNotNull = this };
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user