在C++应用程序中,假设我有一个窗口类,它有几个控件类实例.如果我的窗口想要通知控件已被单击,我可能会使用:
control[n]->onClick();
Run Code Online (Sandbox Code Playgroud)
现在让我们说控件需要知道它的父窗口的大小,或者其他一些信息.为此我正在考虑给控件一个指向自身(this)的指针作为它的构造函数的参数.然后我会从控件onClick()方法中调用这样的调用:
Size windowsize = parent->getSize();
Run Code Online (Sandbox Code Playgroud)
这会被视为不良做法,还是以任何其他方式与面向对象编程的价值相矛盾?如果是这样,他会采取什么样的"正确"方式?
作为一个附带问题,有一个Class或Class*的向量会更好吗?是否值得增加速度增益的复杂性?(向量的变化很少).
我真的希望看到一个比例字体IDE,即使我必须自己构建它(可能作为Visual Studio的扩展).我的基本含义是MS Word样式编辑代码,类似于"C++编程语言"一书中的排版风格.
我想为我的缩进设置制表位并排列函数签名和赋值语句行,这些可以用点而不是固定字符位置指定.我也想大胆和斜体.各种字体大小甚至样式表都很酷.
有没有人在那里看到过这样的东西,或者知道开始构建一个这样的最佳方式?
似乎我的wordpress主题默认添加了一个字体颜色,带有!important条件,它显示为内联样式.它不是针对我需要的,所以我能做些什么呢?我已经尝试了!重要!重要:)
我有一个看起来像这样的LINQ查询:
var clintLst = (from clntDt in ent.ClientDatas
where clntDt.CompanyName.Substring(0,searchWord.Length).Equals(searchWord, StringComparison.CurrentCultureIgnoreCase)
orderby clntDt.CompanyName
select new { ClientDataID = clntDt.ClientDataID,
CompanyName = clntDt.CompanyName,
ContactName = (clntDt.ContactFirstName + " " + clntDt.ContactLastName),
CompanyLocation = clntDt.Location.LocationCity.CityName + ", " + clntDt.Location.LocationState.StateCode
} ).Distinct().Take(10);
Run Code Online (Sandbox Code Playgroud)
但是,它抛出以下异常:
从物化的"System.Int32"类型到"System.Int64"类型的指定强制转换无效.[..]异常详细信息:System.InvalidOperationException:从实现的"System.Int32"类型到"System.Int64"类型的指定强制转换无效.
源文件:C:\ TempPersonalCode\TransportTracking\TransportTracking\TransportTracking\Controllers\AJAXController.cs Line:35
(第35行是select子句)
我很困惑,因为如果改变:
select new { ClientDataID = clntDt.ClientDataID,
CompanyName = clntDt.CompanyName,
Run Code Online (Sandbox Code Playgroud)
至
select new { ClientDataID = (Int32)clntDt.ClientDataID,
CompanyName = clntDt.CompanyName,
Run Code Online (Sandbox Code Playgroud)
然后它工作正常.是不是一个匿名对象应该使用反射来确定它的类型?如果是这样,为什么它决定它是"Int32"而不是长?在EDMX中我把它作为Int64.
我实际上有一个问题的答案,但它没有并行化,所以我对改进算法的方法很感兴趣.无论如何,它对某些人来说可能是有用的.
int Until = 20000000;
BitArray PrimeBits = new BitArray(Until, true);
/*
* Sieve of Eratosthenes
* PrimeBits is a simple BitArray where all bit is an integer
* and we mark composite numbers as false
*/
PrimeBits.Set(0, false); // You don't actually need this, just
PrimeBits.Set(1, false); // remindig you that 2 is the smallest prime
for (int P = 2; P < (int)Math.Sqrt(Until) + 1; P++)
if (PrimeBits.Get(P))
// These are going to be the multiples of P …
Run Code Online (Sandbox Code Playgroud) 我想知道是否存在使用CLI(公共语言基础结构)实现的.NET兼容CLR,例如,使用.NET本身,或者至少是否有任何资源可以帮助构建一个.
基本上,类似于.NET程序,它将程序集作为MemoryStreams加载,解析字节码,构造类型并执行指令.可选地,它可以使用Reflection.Emit JIT编译为标准IL.
我不想编译由原始CLR运行的.NET语言.我想要一个用 .NET语言编写的CLR(通常不是非托管C++或C)并运行 CIL.如果做得对,它应该能够自己运行.
有关使用Mono.Cecil进行此类事情的任何想法吗?
很多时候我见过Visual Studio解决方案,它有多个共享源文件的项目.这些常见的源文件通常位于公共目录中,而在解决方案资源管理器中,它们的图标会在左下方显示一个链接箭头.
但是,每次我尝试将源文件添加到该项目主目录之外的项目时,它只会自动将其复制到目录中,以便我不再拥有共享副本.
我发现我可以通过在文本编辑器中手动打开项目文件并修改类似"../../../Common/Source.cs"的路径来解决这个问题,但这更像是一个黑客然后我想.
是否有一个设置或我可以更改的内容,这将允许我在IDE中执行此操作?
作为我们开发生命周期的一部分,我们在项目中针对C#源运行了许多过程.
这些进程由GUI驱动,该GUI当前读取*.csproj文件以查找项目中使用的源文件.这很好用.
我们现在有了一个新的要求,即提供一些需要调用Web服务的验证过程.需要为Web服务提供一些特定于项目的凭据.理想情况下,我们可以在*.csproj文件中输入和存储这些凭据,但我没有看到扩展它的方法 - 是吗?
我们真的不想引入新的配置.如果我们可以帮助它,只为这些设置提供文件.是否可以存储这样的信息是*.csproj文件,如果没有其他地方可以放置它.
谢谢
是否有开发人员通常遵循的特定模式?在我的Web应用程序中,我从未真正考虑过它,但ASP.NET MVC路由引擎几乎迫使您至少考虑它.
到目前为止,我已经喜欢控制器/动作/索引结构(例如Products/Edit/1),但我正在努力处理更复杂的网址.
例如,假设您有一个页面列出了用户在其帐户中拥有的所有产品.你会怎么做?在我的脑海中,我可以想到列表页面和编辑页面的以下可能性:
我相信还有很多其他人我都不知道.有什么建议?
.net ×2
c# ×2
algorithm ×1
asp.net-mvc ×1
bitarray ×1
c++ ×1
cil ×1
clr ×1
csproj ×1
css ×1
effects ×1
fonts ×1
ide ×1
linq ×1
oop ×1
performance ×1
routing ×1
tabs ×1
text-editor ×1
type-systems ×1
type-theory ×1
types ×1
url ×1
wordpress ×1