所以,假设我有这样的事情:
public class Service : IService
{
public someExposedMethod (someClass param){
//do some stuff
}
}
[DataContract]
public class someClass{}
[DataContract]
public class someSubClass : someClass {}
Run Code Online (Sandbox Code Playgroud)
someClass是公开的,可以在客户端中实例化,但someSubClass永远不会被实例化,并且由于某种原因不会公开.暴露它的唯一方法似乎是将param的类型更改为someSubClass.这是荒唐的.我该怎么做呢?我不想要一个基于字符串或其他东西返回实例的方法,我希望客户端和开发人员完全了解他们可以实例化哪些类.
这是一个非常简单的问题,但我似乎无法在任何地方找到这种语法.
我有这样的事情:
FUNCTION some_function
(
t_string IN VARCHAR2
) RETURN NUMBER IS
some_variable NUMBER;
BEGIN
//logic
END some_function;
Run Code Online (Sandbox Code Playgroud)
它命中some_variable声明并告诉我它期待"语言"在哪里/如何声明变量?我见过以这种方式做过的例子,但由于某种原因它不起作用.
非常感谢,府谷
所以我想说我有一个方法,比如ThreadPool.QueueTask(Delegate d).
其中一些委托需要返回值,但由于它们无法执行此操作(作为委托传递),因此需要通过引用将值作为参数.任务完成后,该值将被更改,因此调用方法需要知道这一点.
本质上,将任务传递给线程池的方法应该等到它完成.
做这个的最好方式是什么?我应该只做Threadpool.QueueTask(Delegate d,EventWaitHandle e),还是有更优雅的方式对于那些不熟悉这种事情的人来说是显而易见的?
亲切的问候,府谷
这应该很简单,但我无法找到告诉我如何做到这一点的任何地方.我有一个课,它和我用来做这个的dll一样.
我想做的就是这样.
thing.InstanceClass("ClassName");
Run Code Online (Sandbox Code Playgroud)
我想这样做而不做:
Assembly testAssembly = Assembly.LoadFile(@"c:\Test.dll");
Run Code Online (Sandbox Code Playgroud)
这是因为我想使用反射实例的类在同一个程序集中.