【传统视觉】C#创建、封装、调用类库

任务

因为实现代码相对简单,然后又没有使用Opencv,所以就直接用C#实现,C#调用。

1.创建类库

1.1新建一个类库

vs2015 => 文件 => 新建 => 项目
【传统视觉】C#创建、封装、调用类库_第1张图片

using System;
using System.Collections.Generic;
using System.Linq;

namespace YourLibraryName
{
    public class OutlierRemoval:IOutlierRemoval
    {
        public List RemoveOutliers(List y, out List outliers)
        {
            // 将代码移动到此处
            // ...

            return outlierIndices;
        }

        public List> RemoveOutliersAndGetYMaxResults(List y, out List y_max_results)
        {
            // 将代码移动到此处
            // ...

            return outliers_results;
        }
    }
}
1.2添加一个接口

为了方便后续可维护,我还添加了接口,而不是直接调用类中的方法;在上述类库中 => 添加 => 接口

using System.Collections.Generic;

namespace YourLibraryName
{
    public interface IOutlierRemoval
    {
        List RemoveOutliers(List y, out List outliers);
        List> RemoveOutliersAndGetYMaxResults(List y, out List y_max_results);
    }
}

2.创建一个demo

告诉软开怎么用这个函数
首先点击解决方案,然后点击添加 => 新建项目 => 控制台应用程序

2.1引用

打开引用 点击“项目”添加引用
【传统视觉】C#创建、封装、调用类库_第2张图片

2.2 编写demo

第一步:using 命名空间

第二步:创建接口实例

IOutlierRemoval outlierRemoval = new OutlierRemoval();

第三步:调用接口

// 调用接口方法
List y = new List { 1.2, 3.4, 5.6, 100.0, 7.8, 9.0 };  // 示例输入数据

// 调用函数 RemoveOutliers
List outliers;
List outlierIndices = outlierRemoval.RemoveOutliers(y, out outliers);

// 调用函数 RemoveOutliersAndGetYMaxResults
List y_max_results;
List> outliers_results = outlierRemoval.RemoveOutliersAndGetYMaxResults(y, out y_max_results);

问题

【传统视觉】C#创建、封装、调用类库_第3张图片

你可能感兴趣的:(c#,开发语言)