我通过省略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#winform应用程序.该系统有一个庞大的数据库,其中一些表有超过150万条记录.我需要的是一种索引这些记录内容的算法.主要是,文件是Microsoft office,PDF和TXT文件.谁有人可以帮忙?无论是想法,链接,书籍还是代码,我都很感激:)
例如:如果我在数据库中的某个文件夹中搜索"国际"这个词,我会得到包含该词的所有文件按照某个标准排序,例如相关性,修改日期......等等
在我目前正在处理的应用程序中,要求是将外部应用程序的窗口带到前台.进行Win32 API调用(如BringWindowToTop和SetForeground窗口)始终不起作用.这是由于Windows XP中的一些限制.我想要做的是发送模拟鼠标单击任务栏上的窗口按钮,我希望将窗口放在前面.有谁知道这有可能吗?
在我的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组件.
我正在尝试在.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) 是否可以从C#中的外部应用程序获取UI文本.
特别是,有没有办法从第三方编写的外部Win32应用程序中读取标签中的Unicode文本(我认为它是一个普通的Windows标签控件)?文本是可见的,但在UI中不能通过鼠标选择.
我假设有一些可访问性API(例如用于屏幕阅读器)允许这样做.
编辑:目前正在考虑使用类似管理间谍应用程序的东西,但仍然会欣赏任何其他线索.
我有一个第三方DLL,我需要在我的应用程序中使用.我的项目是用SNK签名的,因此我不能在不签名的情况下使用这些未签名的DLL.
我尝试使用ildasm.exe,如此处所解释,但我在尝试签署DLL时收到错误消息,因为DLL包含非托管代码.我得到的错误消息是"生成的PE文件不可用"(DLL使用P/Invoke调用).
我能在这做什么想法?