zoukankan      html  css  js  c++  java
  • TFS自定义开发中的反射应用

    最近CM(Configuration Management) 的同事在自定义开发TFS的过程中遇到一个问题。

    领导要求快速开发一个工具, 可以自动连接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元素, 然后更改设置。

  • 相关阅读:
    VIM
    函数指针
    《BOOST程序库完全开发指南》 第13章 编程语言支持
    《BOOST程序库完全开发指南》 第01章 Boost程序库总论
    gtest
    《BOOST程序库完全开发指南》 第04章 实用工具
    distcc配置
    《BOOST程序库完全开发指南》 第08章 算法
    Makefile
    《BOOST程序库完全开发指南》 第03章 内存管理
  • 原文地址:https://www.cnblogs.com/muzizongheng/p/3182362.html
Copyright © 2011-2022 走看看