gpt4 book ai didi

c# - 通过委托(delegate)生成接口(interface)实现的工具?

转载 作者:行者123 更新时间:2023-11-30 22:49:14 26 4
gpt4 key购买 nike

我经常需要通过将实现委托(delegate)给类(class)成员来实现接口(interface)。这个任务非常繁琐,因为即使 Visual Studio 为接口(interface)方法生成 stub ,我仍然必须编写代码来委托(delegate)实现。它不需要太多思考,因此它可能可以通过代码生成工具自动完成...

我可能不是第一个想到这个的人,所以肯定已经有这样的工具了,但我在谷歌上找不到任何东西......有什么想法吗?


编辑:似乎ReSharper can do it ,但它非常昂贵...是否有具有相同功能的免费替代品?

最佳答案

我已经使用 Resharper 几个月了,它有一个很棒的功能可以做到这一点。

例如,编写如下代码:

class MyList<T> : IList<T>
{
private readonly IList<T> _list;
}

将插入符放在 _list 上,按 Alt + Ins(生成代码的快捷方式),然后选择“委派成员”。选择你需要的成员,R# 为他们生成委派成员:

    public void Add(T item)
{
_list.Add(item);
}

public void Clear()
{
_list.Clear();
}

public bool Contains(T item)
{
return _list.Contains(item);
}

public void CopyTo(T[] array, int arrayIndex)
{
_list.CopyTo(array, arrayIndex);
}

public bool Remove(T item)
{
return _list.Remove(item);
}

public int Count
{
get { return _list.Count; }
}

public bool IsReadOnly
{
get { return _list.IsReadOnly; }
}

public int IndexOf(T item)
{
return _list.IndexOf(item);
}

public void Insert(int index, T item)
{
_list.Insert(index, item);
}

public void RemoveAt(int index)
{
_list.RemoveAt(index);
}

public T this[int index]
{
get { return _list[index]; }
set { _list[index] = value; }
}

关于c# - 通过委托(delegate)生成接口(interface)实现的工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1275465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com