这是一个例子,我只是想知道它将如何实现.
我想只启用子类Animal来设置它们拥有的腿数,但我仍然希望它们能够设置自己的颜色.因此,我想在层次结构中进一步限制类,然后再更改此Legs属性.
public abstract class Animal
{
public string Colour { get; protected set; }
public int Legs { get; protected set; }
public abstract string Speak();
}
public class Dog : Animal
{
public Dog()
{
Legs = 4;
}
public override string Speak()
{
return "Woof";
}
}
public sealed class Springer : Dog
{
public Springer()
{
Colour = "Liver and White";
}
}
public sealed class Chihuahua : Dog
{
public Chihuahua() …Run Code Online (Sandbox Code Playgroud) List<T>如果项目不存在,我对BinarySearch方法感到困惑.
我有
List<long> theList = {1, 3, 5, ...}.
Run Code Online (Sandbox Code Playgroud)
theList.BInarySearch(0)返回0,并按theList.BInarySearch(3)预期返回1.
但是,如我所料,theList.BinarySearch(1)返回-2,而不是-1.MSDN手册说:"返回值:排序列表中项目的从零开始的索引,如果找到项目;否则,是负数,它是下一个元素的索引的按位补码,大于项目或,如果没有更大的元素,则为Count的按位补码."
一个"按位补码"?我在这里错过了什么,为什么会这样theList.BinarySearch(1) != -1?
直到现在我才真正质疑过这个问题.我有一个包含许多字段的输入模型,我想通过输入模型显示属性的字符串名称,以便我的网格可以使用它们:
public class SomeGridRow
{
public string Code { get;set; }
public string Description { get;set; }
public const string Code = "Code";
}
Run Code Online (Sandbox Code Playgroud)
显然,这给出了错误:
'SomeGridRow'类型已经包含'Code'的定义
为什么CLR无法应对两个同名的属性,在我看来,这两个属性是分开的?
string code = gridRow.Code; // Actual member from instantiated class
string codeField = SomeGridRow.Code; // Static/Const
Run Code Online (Sandbox Code Playgroud)
我现在只是Fields在我的输入中使用一个子类,所以我可以使用SomeGridRow.Fields.Code.这有点乱,但它确实有效.
我写了一个POS系统.我想在连续纸上打印,但我不知道如何实现这一目标.
我使用.net(C#).我尝试使用crystal report以及System.drawing类.
任何想法都会对我有所帮助......
问题是,是否有可能从多个线程执行同一会话的请求?ASP.NET中的方法是否可重入?特别是我们使用的是AJAX,这意味着正在进行异步请求.
这是否意味着将锁定放在会话内放置的对象上?
我知道在处理静态和应用程序范围的变量时,锁是必不可少的,但问题对于会话对象是否同样如此?
我正在写一个批处理脚本.在命令窗口中的一个阶段之后,它会显示"按任意键继续"并停止,并在按下某些内容后脚本继续.如何在脚本中防止这种情况?
我被告知我需要处理我的Entity Framework存储库类的实例,并创建了一个基类来强制执行此实现.
我需要咨询专家:IDisposable通过基类实现是否可以接受?
请注意,存储库类没有类成员变量.
/// Sample repository. Note that I return List<T> as IEnumerable,
/// and I use IDisposable
///
public class CompanyRepository : DisposableBase, ICompanyRepository
{
public IEnumerable<CompanyDetail> GetOneCompany(int? CompanyID)
{
var t = from c in _entities.CompanyDetail
where c.CompanyID == CompanyID.Value
select c;
return t.ToList();
}
}
/// <summary>
/// Disposable implementation based on advice from this link:
/// from Http://www.asp.net/entity-framework/tutorials/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application
/// </summary>
public class DisposableBase : IDisposable
{
protected TLSAdminEntities1 _entities;
public DisposableBase() …Run Code Online (Sandbox Code Playgroud) 我有一个场景,我有一个对象列表,在对象中有一个日期时间字段.我试图找出是否有办法使用LINQ按顺序日期时间对列表进行分组,并返回列表的子集,其中顺序日期时间为范围.
public virtual IList<LineItem> LineItems { get; set; }
...
public class LineItem
{
public virtual string Status { get; set; }
public virtual DateTime TransDate { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
所以如果我LineItem和Status = P所有人一起拥有6 秒
TransDate = { 8/1/2011 , 8/2/2011 , 8/3/2011 , 8/5/2011 , 8/6/2011 , 8/9/2011 }
Run Code Online (Sandbox Code Playgroud)
分别,我想返回以下列表:
{ (P, 8/1/2011-8/3/2011) , (P,8/5/2011-8/6/2011) , (P,8/9/2011) }
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?我可以手动迭代列表并检查TransDate以查看它是否是顺序的,我只是在寻找一种更优雅(最好是LINQ)的方式.谢谢!
我需要在galaxy nexus上显示一些活动的菜单按钮.我无法找到如何做到这一点,因为它默认隐藏它.我不想创建一个动作栏,因为它需要更多空间我想用于其他事情.当将"android:targetSdkVersion"值设置为低于14时,它似乎显示菜单按钮,但除此之外,它隐藏了它.顺便说一句,活动需要全屏,没有标题/动作栏.
非常奇怪的是,默认情况下,对于这么多地方(甚至是启动器),此按钮并未显示,并且在某些地方它确实存在.对于这么多Android设备来说,这样的按钮是非常基本的按钮.谷歌决定不仅如此,而是切换按钮更重要的是显示它默认显示(不知道是否可以隐藏它,但我猜不是,因为主页按钮在长按时不再做任何事情) .
无论如何,请帮助我.我对android 4很新.
当我在FULLSCREEN中尝试在webview中播放嵌入视频时,我正在获得NPE.它适用于3.0蜂窝,但不适用于ICS 4.0+.知道如何解决这个问题吗?
java.lang.NullPointerException
at android.webkit.PluginFullScreenHolder.show(PluginFullScreenHolder.java:85)
at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:8849)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
任何建议都将非常感激.谢谢
c# ×6
.net ×4
android ×2
android-4.0-ice-cream-sandwich ×2
ajax ×1
asp.net ×1
batch-file ×1
galaxy ×1
generic-list ×1
idisposable ×1
inheritance ×1
linq ×1
list ×1
locking ×1
menu ×1
nexus-s ×1
overriding ×1
printing ×1
webview ×1