小编OJ.*_*OJ.的帖子

错误CS0051(不一致的可访问性:参数类型'作业'比方法'AddJobs.TotalPay(作业)'更难访问)

我通过省略totalFee字段编译并运行下面的源代码.如何将totalFee写入此程序,以便准确计算每项工作的总费用(费率*时间)?下面,你会看到我尝试使用一种方法; 生成错误CS0051(不一致的可访问性:参数类型'作业'不如方法'AddJobs.TotalPay(作业)'可访问).

此源代码响应以下分配:

"为Harold的家庭服务设计一个Job类.该类包含四个数据字段 - 作业描述(例如,"洗涤窗口"),完成作业的时间(例如,3.5),每小时收取的费用作业(例如,$ 25.00),以及作业的总费用(每小时费率小时数).包括获取和设置每个字段的属性,但总费用除外 - 该字段将是只读的,并且每次计算其值设定每小时费用或小时数.重载+运算符,以便可以添加两个作业.两个作业的总和是一个新作业,其中包含原始作业(由"和"加入)的描述,原始作业的小时数总和,以及原始作业的小时费率的平均值.编写一个Main()函数,演示所有方法是否正常工作.将文件另存为DemoJobs.cs."

Microsoft®VisualC#®2008,面向对象编程简介,3e,Joyce Farrell

这是源代码:

using System;

public class AddJobs
{
  private double totalFee;

  public AddJobs(double totalFee)
  {
     TotalFee = totalFee;
  }

  public static void Main()
  {
     Job job1 = new Job("washing windows", 5.00, 25.00);
     Job job2 = new Job("walking a dog", 3.00, 11.00);
     Job job3;
     job3 = job1 + job2;

     Console.WriteLine("The first job's description: {0} \nTotal time needed to complete the job: {1} hours \nHourly fee: {2} per hour", job1.Description, …
Run Code Online (Sandbox Code Playgroud)

c# get set multiplication

11
推荐指数
2
解决办法
2万
查看次数

文本索引算法

我正在为归档系统编写一个C#winform应用程序.该系统有一个庞大的数据库,其中一些表有超过150万条记录.我需要的是一种索引这些记录内容的算法.主要是,文件是Microsoft office,PDF和TXT文件.谁有人可以帮忙?无论是想法,链接,书籍还是代码,我都很感激:)

例如:如果我在数据库中的某个文件夹中搜索"国际"这个词,我会得到包含该词的所有文件按照某个标准排序,例如相关性,修改日期......等等

c# database indexing winforms

9
推荐指数
1
解决办法
4601
查看次数

使用C#将鼠标单击发送到任务栏中的按钮

在我目前正在处理的应用程序中,要求是将外部应用程序的窗口带到前台.进行Win32 API调用(如BringWindowToTop和SetForeground窗口)始终不起作用.这是由于Windows XP中的一些限制.我想要做的是发送模拟鼠标单击任务栏上的窗口按钮,我希望将窗口放在前面.有谁知道这有可能吗?

.net c# windows winapi

7
推荐指数
1
解决办法
5295
查看次数

WPF System.InvalidOperationException:调用线程无法访问此对象,因为另一个线程拥有它

在我的Windows中,我有一个TextBox,我喜欢从另一个线程更新(文本属性).这样做时,我得到InvalidOperationException(参见标题).我在谷歌发现了不同的链接解释这一点,但我似乎仍然无法使它工作.

我试过的是这个:

Window1代码:

private static Window1 _myWindow;
private MessageQueueTemplate _messageQueueTemplate;
private const string LocalTemplateName = "LocalExamSessionAccessCodeMessageQueueTemplate";
private const string RemoteTemplateName = "RemoteExamSessionAccessCodeMessageQueueTemplate";

...
public Window1()
{
    InitializeComponent();
    _myWindow = this;
}

public static Window1 MyWindow
{
    get
    {
        return _myWindow;
    }
}

public void LogText(string text)
{
    informationTextBox.Text += text + Environment.NewLine;
}
...
Run Code Online (Sandbox Code Playgroud)

在另一个类(实际上是一个spring.NET Listener适配器,监听某个队列,在另一个线程中启动).

var thread = new Thread(
    new ThreadStart(
        delegate()
            {
                Window1.MyWindow.Dispatcher.Invoke(
                    System.Windows.Threading.DispatcherPriority.Normal,
                    new Action(
                        delegate()
                            {
                                Window1.MyWindow.LogText(text);
                            }
                        ));
            }
        ));
Run Code Online (Sandbox Code Playgroud)

它不会引发错误,但在窗口1的LogText法文本没有被触发,因此文本没有更新.

所以基本上,我想从另一个线程中运行的另一个类更新这个TextBox组件.

wpf multithreading

6
推荐指数
1
解决办法
5423
查看次数

.NET - 围绕调整大小的图像边框

我正在尝试在.NET中调整图像大小,但在调整大小的图像周围会出现一个模糊的黑色边框.我发现了一篇帖子http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/cf765094-c8c1-4991-a1f3-cecdbd07ee15/,其中有人说目标矩形大于画布工作,但这对我不起作用.它的顶部和左边界都是riid,但右边和底部仍然存在,并且是一个完整的1px厚的黑色.

我错过了什么吗?我的代码如下.

Image image = ... // this is a valid image loaded from the source
Rectangle srcRectangle = new Rectangle(0,0,width, height);
        Size croppedFullSize = new Size(width+3,height+3);
        Rectangle destRect = new Rectangle(new Point(-1,-1), croppedFullSize);
        using(Bitmap newImage = new Bitmap(croppedFullSize.Width, croppedFullSize.Height, format))
        using(Graphics Canvas = Graphics.FromImage(newImage)) {
            Canvas.SmoothingMode = SmoothingMode.AntiAlias;
            Canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
            Canvas.PixelOffsetMode = PixelOffsetMode.HighQuality;
            Canvas.FillRectangle(Brushes.Transparent, destRect);
            Canvas.DrawImage(image, destRect, srcRectangle, GraphicsUnit.Pixel);


            newImage.Save(filename, image.RawFormat);
        }
Run Code Online (Sandbox Code Playgroud)

.net c# graphics drawing2d

5
推荐指数
2
解决办法
3695
查看次数

在C#中从外部应用程序获取UI文本

是否可以从C#中的外部应用程序获取UI文本.

特别是,有没有办法从第三方编写的外部Win32应用程序中读取标签中的Unicode文本(我认为它是一个普通的Windows标签控件)?文本是可见的,但在UI中不能通过鼠标选择.

我假设有一些可访问性API(例如用于屏幕阅读器)允许这样做.

编辑:目前正在考虑使用类似管理间谍应用程序的东西,但仍然会欣赏任何其他线索.

c# winapi interop

4
推荐指数
2
解决办法
6749
查看次数

在已签名的项目中使用未签名的DLL

我有一个第三方DLL,我需要在我的应用程序中使用.我的项目是用SNK签名的,因此我不能在不签名的情况下使用这些未签名的DLL.

我尝试使用ildasm.exe,如此处所解释,但我在尝试签署DLL时收到错误消息,因为DLL包含非托管代码.我得到的错误消息是"生成的PE文件不可用"(DLL使用P/Invoke调用).

我能在这做什么想法?

c# visual-studio-2010

4
推荐指数
2
解决办法
3311
查看次数