我在运行时使用Reflection进行一些类型分析.如果我有一个MethodInfo实例,我怎么能弄清楚这是一个"真正的"方法还是一个属性的getter/setter方法?如果它是一个属性,我怎样才能找到它的托管PropertyInfo?
<td>
<img src="http://blog.garethjmsaunders.co.uk/wp-content/feed-icon-16x16.gif"/>
My feed
</td>
Run Code Online (Sandbox Code Playgroud)
这是它的样子:
(来源:garethjmsaunders.co.uk)
我的饲料
图标和文本垂直错位.图标位于表格单元格的顶部,文本位于底部.文本和图标都占据了16个像素,但是单元格仍然占用了19个.如何对齐它们以保存这3个像素?
鉴于此MarshalByRef类:
public class MyRemotedClass : MarshalByRef
{
public void DoThis()
{
...
}
public void DoThat()
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
客户端代码:
MyRemotedClass m = GetSomehowMyRemotedClass();
m.DoThis();
m.DoThat();
Run Code Online (Sandbox Code Playgroud)
我可以让几个客户同时做同样的事情.我想区分客户.如何在远程访问的方法中识别执行远程调用的人员? 例如,我可以记录谁做了什么.(实际上,我不需要追溯真正的客户信息,我只是希望能够对客户进行分组调用.)
[已编辑添加更多背景信息]
我有大量的代码需要覆盖,包括属性.因此,不能选择扩展输入参数列表.
应用程序: 我正在编写一个小游戏,可以教用户阅读音乐笔记.游戏很简单.该应用程序显示一个注释,我的小女儿(目标用户)应该点击与该注释匹配的WinForm GUI上的模拟键盘键.她有1分钟可以获得尽可能多的好点击.计算成功和失败.
任务: 当她点击一个好/坏的键盘键时,我想立即确认她是对还是错,而不会打断游戏.我的计划是显示一个OK或FAILED位图逐渐淡出并在~2秒内变得完全透明.将位图淡出是一种很好的方法,可以鼓励用户专注于下一个音符而不再烦扰先前的结果.
技术问题: 如何在具有透明度的Windows窗体上显示位图?或者您是否有其他非侵入性,易于实现的想法让用户知道当前的好/坏选择?
我有兴趣学习一种语言,它在内部处理对象作为哈希表(如JavaScript),但可以用强类型包装它们,以便在设计时提供代码完成/智能感知的好处.以下是我希望这种梦想语言能够发挥作用的方式:
public class Lion
{
public void Roar() { Console.WriteLine("Aaarrgghh");}
}
public static Main(string[] args)
{
object myCat = new object(); // just plain object, no type!
// adding a Roar() method to the myCat instance
myCat.Roar += delegate() {Console.WriteLine("Miauew");}
// At this point myCat should qualify to be a Lion.
// So we should be able to successfully duck-type-cast
// her to a lion
Lion myLion = myCat as Lion;
// now the myLion reference is strongly typed,
// …
Run Code Online (Sandbox Code Playgroud) 我使用的是ASP.NET2.0.我创建了一个包含一些输入字段和下载按钮的下载表单.单击下载按钮时,我想将用户重定向到"感谢您下载..."页面并立即向他/她提供要保存的文件.
我有以下代码来显示savefile对话框:
public partial class ThankYouPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("Content-Disposition",
"attachment; filename=\"downloadedFile.zip\"");
Response.ContentType = "application/x-zip-compressed";
Response.BinaryWrite(this.downloadedFileByteArray);
Response.Flush();
Response.End();
}
}
Run Code Online (Sandbox Code Playgroud)
显然,此代码不允许显示任何"谢谢"消息.是否有"AfterRender"事件或类似的页面,我可以移动此下载代码并为页面提供向用户呈现"谢谢"消息的机会?毕竟,我真的很感谢他们,所以我想表达这一点.
我想用HTML绘制一个图表.定位结构如下所示:
<div id='hostDiv'>
<div id='backgroundDiv'>
... drawing the background ...
</div>
<div id='foregroundDiv' style='position: absolute;'>
... drawing the foreground ...
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
前景包含一个动态填充文本的Table元素,因此行高可能会根据进入单元格的文本量而改变.如何预测foregroun中Table元素的最终高度?我需要此信息来设置背景的正确高度.有没有办法从Javascript预渲染表并读出它的高度?或者其他一些技巧?
PS.随着浏览器调整大小,hostDiv的大小可能会有所不同.
我需要使现有的应用程序线程安全.在适当的情况下(见下文),我决定在整个业务对象图中使用一个ReaderWriterLock.所有方法/属性必须如下所示:
public int MyReadOperation(string inputParam)
{
rwLock.AcquireReaderLock(10000);
try
{
// do all read operations
...
}
finally
{
rwLock.ReleaseReaderLock();
}
}
public void MyWriteOperation(string input)
{
rwLock.AcquireWriterLock(10000);
try
{
// do all write operations
...
}
finally
{
rwLock.ReleaseWriterLock();
}
}
Run Code Online (Sandbox Code Playgroud)
但是我有很多方法可以覆盖,我从复制/粘贴的想法中吓坏了.受MethodImplAttribute的启发,我希望有一个这样的代码,同时表现为上面的代码:
[ReadOperation]
public int MyReadOperation(string inputParam)
{
// do all read operations
...
}
[WriteOperation]
public void MyWriteOperation(string input)
{
// do all write operations
...
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在进入属性或方法之前/之后中断线程执行并添加线程安全预防措施?或者以某种方式利用C#的函数式语言特性,将方法的生产体嵌入到通用的ReaderWriterLock中获取"框架"?
一点背景:
我正在开发一个项目,通过.NET Remoting公开数据载体业务对象.但是,这些数据类不是可序列化的,而是MarshalByRef-s.这意味着所有客户端实际上读/写相同的业务对象.这是不可改变的,它是刻在石头上的.线程安全的希望是这些远程业务对象在远程客户端的眼中是只读的(认为它们会循环许多列表)并且所有写入操作都很好地分成专用的外观.我希望罕见的写入和频繁的读取.业务对象高度连接,它们非常"图形化".
.net remoting multithreading functional-programming declarative
您建议在ASP.NET下使用哪个免费(最好是开源)组件来捕获我的网站访问统计数据?我有SqlServer可用.我更喜欢后端的db和文件记录,因为它是可报告的.
.net ×3
asp.net ×2
c# ×2
html ×2
html-table ×2
remoting ×2
alignment ×1
c#-4.0 ×1
declarative ×1
download ×1
duck-typing ×1
fadeout ×1
image ×1
javascript ×1
methodinfo ×1
propertyinfo ×1
redirect ×1
reflection ×1
transparency ×1
web ×1
winforms ×1