Java >>>运算符的等价物(在C#中)是什么?
(只是为了澄清,我不是指>>和<<运营商.)
假设我们有一个带有'name'属性的类:
class SuperFoo(var name: String)
Run Code Online (Sandbox Code Playgroud)
如果我希望覆盖它,例如在调用周围添加一些锁定:
class SubFoo(n: String) extends SuperFoo(n) {
val lock = new ReentrantLock
override def name(): String =
{
lock.lock
try {
super.name
} finally {
lock.unlock
}
}
override def name_=(arg: String): Unit = {
lock.lock
try {
super.name = arg
} finally {
lock.unlock
}
}
}
Run Code Online (Sandbox Code Playgroud)
以上产生了编译错误:
super may be not be used on variable name
Run Code Online (Sandbox Code Playgroud)
任何想法如何正确实现这一点?(即覆盖getter和setter以在它们周围添加锁定).谢谢!
任何想法为什么以下代码不退出通过COM互操作创建的Outlook 2007进程?
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
var item = app.Session.OpenSharedItem("C:\\test.msg") as Microsoft.Office.Interop.Outlook.MailItem;
string body = item.HTMLBody;
int att = item.Attachments.Count;
(item as Microsoft.Office.Interop.Outlook._MailItem).Close(Microsoft.Office.Interop.Outlook.OlInspectorClose.olDiscard);
System.Runtime.InteropServices.Marshal.ReleaseComObject(item);
(app as Microsoft.Office.Interop.Outlook._Application).Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
System.Diagnostics.Debugger.Break();
Run Code Online (Sandbox Code Playgroud)
一个几乎相同的使用Word的片段工作,所以我想知道我是否忘记清理一些东西......
我正在玩一个新的C#电子邮件库,并希望尽可能多地测试它.我已经使用了几个POP3电子邮件服务器(例如Exchange,Hotmail,Gmail等)来测试对最流行的电子邮件MIME格式的支持,例如text/plain,multipart/alternative等.
有没有人知道是否有一个示例电子邮件存储库,我可以用它来进一步测试更模糊的MIME格式,例如application/pkcs7等.
这是为了确保库足够强大以处理这些类型的电子邮件.谢谢.
有谁知道如何列出所有约束,或查询特定的外键约束,例如HSQLDB中的FK1234567890?
在其他数据库中有针对此的特殊系统表,但我在这个文档上找不到任何内容.
谢谢,N.
是否有任何教程或资源我可以遵循以使用OpenSharedItem outlook互操作方法.我的目标是使用它读取MSG文件(因为它显然可以这样做).
我正在尝试重用我编写的Java泛型集合,看起来很像这样:
public class Blah<T>
implements List<T>
{
...
public void test(T[] array) {
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
当从使用上面的Scala泛型集合中使用时,我遇到了编译错误,我注意到Blah类方法不是T,而是T和java.lang.Object!
Object MyStaticObject {
def test[T](array: Array[T]) = {
val x = new Blah[T]();
x.test(array) // <- error here: Overloaded method with alternatives test[T with java.lang.Object] ... cannot be applied
}
Run Code Online (Sandbox Code Playgroud)
有没有办法避免这种情况,而无需重新编写Scala中的Blah类?(这有效,但我有太多这样的Java代码,而不是移植整个东西......)
也许某些隐含的定义可能会得到拯救?谢谢!
c# ×4
interop ×2
java ×2
scala ×2
collections ×1
com ×1
email ×1
foreign-keys ×1
generics ×1
getter ×1
hsqldb ×1
inheritance ×1
mime ×1
msg ×1
outlook ×1
outlook-2007 ×1
properties ×1
setter ×1
sql ×1
traits ×1