首页 / C# / c# – 调用Method匿名类
c# – 调用Method匿名类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 调用Method匿名类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1618字,纯文字阅读大概需要3分钟。
内容图文
我对C#世界很陌生,如果问题标题与内容不完全匹配,我深表歉意.但现在我的问题:
我有以下构造:
public interface IClass<TEnum>
{
Dictionary<TEnum, ISecondClass> dictionary { get; }
}
public abstract class ClassBase<TEnum> : IClass<TEnum>
{
public abstract Dictionary<TEnum, ISecondClass> dictionary { get; protected set; }
}
public class ConcreteClass : ClassBase<ConcreteClass.Concrete>
{
public override Dictionary<Concrete, ISecondClass> dictionary { get; protected set; }
public enum Concrete : ulong
{
}
}
public class OtherClass : ClassBase<OtherClass.Other>
{
public override Dictionary<Concrete, ISecondClass> dictionary { get; protected set; }
public enum Other : ulong
{
}
}
我的目标是基于它的枚举实例化所有现有的具体类,将所有实例存储在字典中,然后在每个对象上调用一些方法.
我不确定这是否可能?
我对此有任何暗示感到高兴!
解决方法:
如果我理解你正在尝试做什么,它听起来像是Multiton Pattern的一个版本.你可能会发现研究它很有用.
来自维基百科的示例Multiton代码:
class FooMultiton
{
private static readonly Dictionary<object, FooMultiton> _instances = new Dictionary<object, FooMultiton>();
private FooMultiton() {}
public static FooMultiton GetInstance(object key)
{
lock (_instances)
{
FooMultiton instance;
if (!_instances.TryGetValue(key, out instance))
{
instance = new FooMultiton();
_instances.Add(key, instance);
}
}
return instance;
}
}
这不能直接粘贴到你的班级,但由于你正在寻找提示,我认为它应该指向你正确的方向.
关于上述代码的一个注意事项:如果找不到密钥,方法GetInstance将改变字典.就个人而言,我将“Get”前缀与只读方法相关联.我要么重命名GetInstance,要么将其拆分为两种方法.
但是,我并不确定你的意思是“基于它的枚举实例化所有现有的具体类”.你能澄清一下吗?
内容总结
以上是互联网集市为您收集整理的c# – 调用Method匿名类全部内容,希望文章能够帮你解决c# – 调用Method匿名类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。