Условия "расширение" и "дополнение" кажутся взаимозаменяемыми, но я видел экземпляры, где люди, кажется, имеют в виду разные вещи с "расширением" по сравнению с "дополнением".
Ясность?
Настройки являются установочными улучшениями к проектам Mozilla Foundation (и совместимых вариантов, таких как портативный Firefox). Add-ons позволяют пользователю добавлять функции приложения или увеличения приложений, используйте темы к его или ее симпатию и справляться с новыми типами контента.
Расширения могут использоваться для изменения поведения существующих функций к приложению или добавлять совершенно новые функции. Удлинения особенно популярны с Firefox, потому что разработчики Mozilla намерены к браузеру оказываться довольно минималистичным применением, чтобы уменьшить блуждание программного обеспечения и ошибок, сохраняя при этом высокую степень расширяемости, так что отдельные пользователи могут добавлять функции, которые они предпочитают.
Чтение дополнение (Mozilla) может помочь
В этом контексте расширения представляют собой подмножество аддонов.
Так что дополнения - это зонтичный термин для расширений, тем, словари и т. Д.
Аддоны и расширения одинаковы, это целое, которое включает в себя темы.
Разная часть здесь - плагины, которые помогают вашему браузеру выполнять конкретные функции, такие как просмотр специальных графических форматов или воспроизведение мультимедийных файлов, таких как Adobe Reader, Flash, Silverlight, Quicktime и т. Д.
Плагины Из расширений, которые изменяют или добавляют в существующую функциональность.
На самом деле в самом браузере он использует оба термины взаимозаменяемо «Получить дополнения», но после установки они находятся под вкладкой «Расширение».
Простое решение - использовать системный журнал, используя RemotesLogappender
Как только у вас установка сервера Syslog, вы можете использовать это «из коробки», без необходимости дополнительной работы, необходимой для использования ADO, WCF или MSMQ
Хороший сервер системного журнала для Windows kiwi , с бесплатным, так и коммерческим (имеет более функциональность, чем бесплатные версии). Киви также приходит с зрителем.
-121--3732608-дополнение относится к расширениям, так и к темам, Firefox 3 (IIRC) переместил как темы, так и расширения к одному пункту меню.
Расширение к тому, что сделал reshefm, что упростило использование оператора name (), и дает имена методов и членов класса и методов:
/// <summary>
/// Provides the <see cref="nameof"/> extension method that works as a workarounds for a nameof() operator,
/// which should be added to C# sometime in the future.
/// </summary>
public static class NameOfHelper
{
/// <summary>
/// Returns a string represantaion of a property name (or a method name), which is given using a lambda expression.
/// </summary>
/// <typeparam name="T">The type of the <paramref name="obj"/> parameter.</typeparam>
/// <typeparam name="TProp">The type of the property (or the method's return type), which is used in the <paramref name="expression"/> parameter.</typeparam>
/// <param name="obj">An object, that has the property (or method), which its name is returned.</param>
/// <param name="expression">A Lambda expression of this pattern: x => x.Property <BR/>
/// Where the x is the <paramref name="obj"/> and the Property is the property symbol of x.<BR/>
/// (For a method, use: x => x.Method()</param>
/// <returns>A string that has the name of the given property (or method).</returns>
public static string nameof<T, TProp>(this T obj, Expression<Func<T, TProp>> expression)
{
MemberExpression memberExp = expression.Body as MemberExpression;
if (memberExp != null)
return memberExp.Member.Name;
MethodCallExpression methodExp = expression.Body as MethodCallExpression;
if (methodExp != null)
return methodExp.Method.Name;
throw new ArgumentException("'expression' should be a member expression or a method call expression.", "expression");
}
/// <summary>
/// Returns a string represantaion of a property name (or a method name), which is given using a lambda expression.
/// </summary>
/// <typeparam name="TProp">The type of the property (or the method's return type), which is used in the <paramref name="expression"/> parameter.</typeparam>
/// <param name="expression">A Lambda expression of this pattern: () => x.Property <BR/>
/// Where Property is the property symbol of x.<BR/>
/// (For a method, use: () => x.Method()</param>
/// <returns>A string that has the name of the given property (or method).</returns>
public static string nameof<TProp>(Expression<Func<TProp>> expression)
{
MemberExpression memberExp = expression.Body as MemberExpression;
if (memberExp != null)
return memberExp.Member.Name;
MethodCallExpression methodExp = expression.Body as MethodCallExpression;
if (methodExp != null)
return methodExp.Method.Name;
throw new ArgumentException("'expression' should be a member expression or a method call expression.", "expression");
}
}
Использовать его:
static class Program
{
static void Main()
{
string strObj = null;
Console.WriteLine(strObj.nameof(x => x.Length)); //gets the name of an object's property.
Console.WriteLine(strObj.nameof(x => x.GetType())); //gets the name of an object's method.
Console.WriteLine(NameOfHelper.nameof(() => string.Empty)); //gets the name of a class' property.
Console.WriteLine(NameOfHelper.nameof(() => string.Copy(""))); //gets the name of a class' method.
}
}
-121--1141580- Hmmm.. Я думал , что есть некоторые вещи с [DefureValue (...)]
, которые будут работать, но, очевидно, нет; Я немного сбит с толку, почему вы получаете null
, хотя - поскольку вы не сказали ему о каком-либо по умолчанию, я бы ожидал, что «Default Name»
попадет в выход. Если у вас есть код по умолчанию (или ShouldSerialize *
/ * Specified
), вы можете попробовать:
[DataMember(EmitDefaultValue=true)]
public string Name {
get { return name; }
set { name = value; }
}
Но еще раз - я не совсем уверен, почему вы видите null
в первую очередь.
Я только что протестировал это с чем-то на основе шаблона WCF в VS2008, и это хорошо работает:
using (var client = new Service1Client()) {
var result = client.GetDataUsingDataContract();
Console.Write(result.Name); // "Default Name"
}
-121--3176685- Add-on является инклюзивным термином для категории модулей дополнения, которые подразделяются на плагины, темы, поисковые системы, расширения, оснастки или различные другие имена, специфичные для поставщика
Плагин (плагин, аддин, надстройка, аддон или надстройка) - это компьютерная программа, которая взаимодействует с основным (или главным) приложением (например, веб-браузером или программой электронной почты) для обеспечения определенной, обычно очень специфической функции по требованию.
При вычислениях исправление представляет собой небольшую часть программного обеспечения, предназначенного для обновления или устранения проблем с компьютерной программой или поддерживающими ее данными. Это включает исправление ошибок, замену графики и повышение удобства использования или производительности.
В вычислениях обложки и темы являются пользовательскими графическими образами (GUI), которые могут применяться к определенному программному обеспечению и веб-сайтам, чтобы соответствовать различным вкусам различных пользователей.