领导要求快速开发一个工具, 可以自动连接TFS,然后自动Check out一些word文件, 然后程序修改后自动check in。(比如签名)
这个实现的话,需要3个方面:
1.根据现有TFS界面抽出可以使用的UI, 然后找到对应dll
2.利用C#的反射, 获取到对应字段或者属性, 进行更改。
3.现有UI不满足的情况下, 自己根据TFS的API,重新实现界面。
TFS的界面1
类名为TeamProjectPicker,
dll名字为Microsoft.TeamFoundation.Client.dll
其内部包含TfsConnectDialog,如:
public class TeamProjectPicker : IDisposable
{
private TfsConnectDataSource m_dataSource;
private TfsConnectDialog m_internalDialog;
private bool m_disposed;
private CancelEventHandler AcceptButtonClick;
。。。。。
}
然后根据反射获取TfsConnectDialog的各个UI元素,进行更改设置。
TFS的界面2
类名为:DialogChooseItem
dll名字为:Microsoft.TeamFoundation.VersionControl.Controls.dll
其内部包含ControlChooseItem, 如:
namespace Microsoft.TeamFoundation.VersionControl.Controls
{
internal class DialogChooseItem : BaseDialog
{
private IContainer components;
private Button ok;
private Button cancel;
private ControlChooseItem chooseItem;
private TableLayoutPanel okCancelTableLayoutPanel;
private TableLayoutPanel overarchingTableLayoutPanel;
...........
}
}
同理根据反射,获取ControlChooseItem的各个UI元素, 然后更改设置。