小编Zee*_*han的帖子

关于覆盖规则C#的混淆

关于方法重写和OOP原则的有效性,我有一点混乱.我知道关于密封,阴影,覆盖,虚拟等的一切,但我遇到了一个场景,这让我很困惑.假设我有:

class classA
{

    public virtual void sayhello()

      {
        Console.WriteLine("hello I'm A");
    }

};

class classB :classA
{
    public override void sayhello()
    {
        Console.WriteLine("hello I'm B");
    }

};
class Program
{
    static void Main(string[] args)
    {

        classB a = new classB();
        a.sayhello();
    }
}
Run Code Online (Sandbox Code Playgroud)

根据我到目前为止研究的所有内容,可以使用子类中的override关键字覆盖声明为virtual或abstract(在抽象类中)的方法.根据这个,上面的代码工作完美.当我删除virtual关键字,然后尝试使用override关键字覆盖该方法时,编译器会给出错误:

不能覆盖继承的成员'inheritence.classA.sayhello()',因为它没有标记为虚拟,抽象或覆盖

然后我从子类中删除了覆盖关键字,并将实现提供为:

class classB :classA
{
    public void sayhello()
    {
        Console.WriteLine("hello I'm B");
    }

};
Run Code Online (Sandbox Code Playgroud)

在这种情况下,该方法可以被覆盖.我能够覆盖不是虚拟或抽象的方法.所以,我的问题是:

1. …

c# oop overriding virtual-functions sealed

5
推荐指数
1
解决办法
750
查看次数

OCR用于从cedula /护照C#中提取文本

我正在寻找一种Tesseract或Google的Vision API类型OCR,可以帮助提取护照/身份证图像中的文本信息(可以从移动设备捕获或可以扫描.因此帧大小可能会有所不同).我经历过几个帖子,并发现Tesseract是首选解决方案.

我还使用Vision API测试了我的测试数据,并获得了99%的准确和令人满意的结果.但我有以下问题/要求:

问题:

  • Tesseract是我在大多数帖子中找到的建议解决方案,但它给出了非常糟糕的结果,因为框架可能会有所不同.我无法训练数据,我可以使用任何付费库来帮助我完成我的方案.
  • Vision API提供准确的结果,但我的要求是不使用基于云的解决方案.
  • 很少有供应商,(例如,LeadTool,IdScan等),其中提供此功能,但他们用自己的扫描仪首先扫描护照.因此,他们的SDK适用于他们的扫描仪设备.

摘要:是否有可用的(付费或开源) c#库,它将护照/ cedula图像作为输入,并返回准确的文本?任何建议/帮助将不胜感激.

c# ocr asp.net-mvc image-processing

5
推荐指数
1
解决办法
5582
查看次数

以编程方式注入asp.net核心的依赖项

我只是从Asp.net core Dependency Injection开始,我的概念可能不准确。这篇docs.asp.net帖子介绍了如何将上下文注入控制器。从测试角度看,我对注入几乎没有困惑。假设我们有以下情形:

public interface ITasksRepository
{ 
   public void Create();
}

//This is fake implementation, using fake DbContext for testing purpose
public class TasksRepositoryFake : ITasksRepository
{
   public void Create()
   {
     FakeDbContext.Add(sometask);
     //logic;
   }
}

//This is actual implementation, using actual DbContext
public class TasksRepository : ITasksRepository
{
   public void Create()
   {
     DbContext.Add(someTask);
     //logic;
   }
}
Run Code Online (Sandbox Code Playgroud)

现在,为了在控制器中注入上下文,我们将其设计为:

public class TasksController : Controller
{
    public ITasksRepository TaskItems { get; set; }

    public TodoController(ITaskRepository taskItems)
    {
        TaskItems …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection asp.net-core

5
推荐指数
1
解决办法
4915
查看次数

在MVC 4应用程序中使用本地DB

我正在学习MVC.我只需要澄清一些事情.我正在关注这个教程.这个人使用LocalDB来存储Movie对象.他只是添加一个连接字符串,然后在添加控制器后,如教程中所述,自动添加CRUD操作方法.那家伙使用了类似的句子,"你只需要将你的电影对象存储在localdb中".自动创建数据库(代码优先方法).(我知道如何使用Entity Framework,我们必须创建一些模型来映射我们的数据库).但是这个教程让我很困惑.关于创建数据库等没有提及,而他的连接字符串包含一个单词" Movie.mdf "(在数据源下).最后,跟着他,我发现服务器未找到错误(26).我错过了什么,作为MVC的新手?

asp.net-mvc-4

3
推荐指数
1
解决办法
1万
查看次数

在OnActionExecuting中获取预期的Action参数类型

问题: 是否可以知道被调用动作所期望的参数类型?例如,我有一些action:

[TestCustomAttr]
public ActionResult TestAction(int a, string b)
{
    ...
Run Code Online (Sandbox Code Playgroud)

并TestCustomAttr定义为:

public class TestCustomAttr : System.Web.Mvc.ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        ...
Run Code Online (Sandbox Code Playgroud)

因此,当调用TestAction此处内部时OnActionExecuting,我想知道该TestAction方法所期望的类型.(例如:在这种情况下,有2个预期参数.一个是类型int,另一个是类型string.

实际目的: 实际上我需要更改值QueryString.我已经能够获取查询字符串值(通过HttpContext.Current.Request.QueryString),更改它,然后手动将其添加ActionParameters为filterContext.ActionParameters[key] = updatedValue;

问题: 目前,我尝试将值解析为int,如果它被成功解析,我认为它是一个int,所以我进行需求更改(例如值+ 1),然后将其添加到操作参数,对应其键.

 qsValue = HttpContext.Current.Request.QueryString[someKey].ToString();

 if(Int32.TryParse(qsValue, out intValue))
 {
     //here i assume, expected parameter is of type `int`
 }
 else
 {
     //here i assume, …
Run Code Online (Sandbox Code Playgroud)

c# custom-attributes query-string onactionexecuting asp.net-mvc-4

2
推荐指数
1
解决办法
2646
查看次数

在运行时在现有类C#中动态添加属性

我已经从那里我们在表中添加下列值UI 字段

  • 产品名称
  • 产品编号
  • 产品代码

我有一个具有某些现有属性的现有类产品

public class Product
{
    public string ProductID { get; set; }
    //product in a product search listing
    public string StoreName { get; set; }
    public string SearchToken { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

我在找这将增加现有的类属性的方法的产品在用户时,在表中添加值运行时间(动态)字段

.net c# windows reflection reflection.emit

0
推荐指数
3
解决办法
7550
查看次数